Yamagishi Complexity Torus LabYamagishi Lab

[Paper 899] At Low Resolution a Stroke’s Width Jumps by a Pixel with Position, and the Share Drawn Wider Equals Its Width’s Fractional Part

Abstract

It is easy to assume that a stroke drawn at one width looks the same width wherever it is placed. This paper counts, in a model that places a single stroke such as the vertical stem of a letter on a pixel grid and blackens the pixels whose centres lie inside it, how the drawn width changes with position. No new theorem or law is claimed.

First, only two widths come out: a stroke $2.9$ pixels wide is drawn $2$ or $3$ pixels wide depending on position, and no width in between appears (Section 2).

Second, and this is the core. The share drawn wider equals the fractional part of the width: shifting through $10000$ positions, the share rounded up was $\mathbf{0.700000}$ for width $0.7$, $\mathbf{0.300000}$ for $1.3$, $0.500000$ for $2.5$ and $\mathbf{0.900000}$ for $2.9$ (Section 2).

Third, averaged over position, width is preserved: for all four widths, the average drawn width was $0.700000$, $1.300000$, $2.500000$ and $2.900000$, equal to the stroke width (Section 2).

Fourth, at low resolution a thin stroke can vanish: a $0.35$ pt stroke is $\mathbf{0.972222}$ pixels at $200$ dpi, and over $10000$ positions it came out $0$ pixels wide at $\mathbf{0.027700}$ of them (Section 3).

Fifth, higher resolution makes the difference between the two widths small relative to the stroke: the difference is $\mathbf{1.028571}$ times the stroke width at $200$ dpi, $0.685714$ at $300$ dpi, $0.342857$ at $600$ dpi and $\mathbf{0.171429}$ at $1200$ dpi (Section 3).

Sixth, the separator is whether each pixel is set black or white by its centre or shaded grey by the area covered: shading grey by the covered share, the total grey of a $2.9$-pixel stroke over $1000$ positions had both minimum and maximum $2.900000$ (Section 4).

Keywords: stroke width, resolution, pixel, fractional part, area coverage, typeface.

Scope (what is not claimed)

No new theorem or law is claimed: that placing strokes on pixels rounds their widths to whole pixels, that the width varies with position, that shading pixels grey by covered area suppresses the variation, and that higher resolution makes it less noticeable are all known in rendering text on screens and in print. No real typeface is claimed: the stroke width of $0.35$ pt and the four resolutions are model values matching no typeface, screen or printer. Shape-fitting schemes are not treated: schemes that move strokes to fit the pixel grid (hinting), horizontal strokes, curves and ink spread are not included. Appearance is not discussed: how much variation the human eye sees is not discussed. Relation to earlier papers: Paper 731 showed that grey in print is not the darkness of a dot but the count of dots in a cell, so the number of levels is fixed by a ratio of the device. This paper stands beside it. There grey was made from a count of dots, and the number of greys was fixed by the device. Here stroke width is rounded to a count of pixels, and the share rounded each way is fixed by the fractional part of the width. What is added is counting the shares and averages of drawn widths for four stroke widths, converting a $0.35$ pt stroke to pixels at four resolutions, comparing with shading grey by covered area, and placing the separator on deciding by centre versus shading by area.

1. Notation and the Question

Setting: the left edge of a vertical stroke $w$ pixels wide is placed at position $\varphi$. Pixel $k$ occupies $k$ to $k+1$, and is blackened if its centre $k+0.5$ lies inside the stroke. The drawn width is the number of black pixels. The position $\varphi$ was shifted across one pixel in $10000$ steps, and the shares and average of drawn widths were counted.

$$\text{black pixels}=\{\,k:\ \varphi\le k+0.5<\varphi+w\,\},\qquad \text{drawn width}\in\{\lfloor w\rfloor,\ \lceil w\rceil\}$$

The unit pt is $1/72$ inch, so at a resolution of $d$ dpi the width is $w=0.35\times d/72$ pixels. For comparison, each pixel was shaded grey by the share of it covered by the stroke, and the total was computed.

Question: is a stroke of one width drawn at the same width wherever it is placed?

2. Position and Drawn Width

Computation 2.1: for four widths, the position was shifted through $10000$ steps and the drawn widths counted.

stroke width (px)drawn widthshare rounded upaverage width
$0.7$$0$ or $1$$0.700000$$0.700000$
$1.3$$1$ or $2$$0.300000$$1.300000$
$2.5$$2$ or $3$$0.500000$$2.500000$
$2.9$$2$ or $3$$0.900000$$2.900000$

Observation 2.2 this is the core. The share drawn wider equals the fractional part of the width. A $2.9$-pixel stroke is drawn $3$ pixels wide at $0.900000$ of positions and $2$ pixels wide at the remaining $0.100000$, since the share equals the fractional part, the average over position is the stroke width itself. At any single position the width is one of the two, and no width in between appears.

3. Resolution and Thin Strokes

Computation 3.1: a $0.35$ pt stroke was converted to pixels at four resolutions. The share drawn wider is the “fractional part of the width” confirmed in the previous section.

resolutionstroke width (px)share drawn wider (fraction)difference of widths / stroke width
$200$ dpi$0.972222$$0.972222$$1.028571$
$300$ dpi$1.458333$$0.458333$$0.685714$
$600$ dpi$2.916667$$0.916667$$0.342857$
$1200$ dpi$5.833333$$0.833333$$0.171429$

Observation 3.2 at low resolution a thin stroke can vanish, and the variation in width exceeds the stroke itself. At $200$ dpi the stroke is only $0.972222$ pixels, and over $10000$ positions it came out $0$ pixels wide at $0.027700$ of them: the difference between the two widths ($0$ and $1$ pixel) is then $1.028571$ times the stroke width. At $300$ dpi and above no position vanishes, and at $1200$ dpi the difference shrinks to $0.171429$ times the stroke width.

4. The Separator

Observation 4.1 the separator is whether each pixel is set black or white by its centre or shaded grey by the area covered. Deciding black or white by the centre rounds width to whole pixels, so it varies by one pixel with position: shading grey by the covered share, the total grey of a $2.9$-pixel stroke over $1000$ positions had minimum $2.900000$ and maximum $2.900000$, independent of position. The variation comes from rounding the width, and shading by area keeps it out of the total.

Observation 4.2 placed beside Paper 731. 731 showed that grey in print is made from the count of dots in a cell, and the number of greys is fixed by a ratio of the device. Here stroke width is rounded to a count of pixels, and the share rounded each way is fixed by the fractional part of the width.

Observation 4.3 what is not said. Real typefaces, screens or printers, schemes that move strokes to fit the grid, horizontal strokes, curves, ink spread, and the variation visible to the eye are not treated. What is shown is that, in this model, a stroke of one width changes by one pixel with position, and the share drawn wider equals the fractional part of its width.

5. Census and Closing

  1. blacken pixels whose centres lie inside (Section 1): two drawn widths.
  2. $\mathbf{0.700000}$ for width $0.7$ (Computation 2.1): as the fraction says.
  3. $\mathbf{0.300000}$ for width $1.3$ (Computation 2.1): as the fraction says.
  4. $\mathbf{0.900000}$ for width $2.9$ (Computation 2.1): the core.
  5. average width equals stroke width (Observation 2.2): preserved on average.
  6. $\mathbf{0.972222}$ pixels at $200$ dpi (Computation 3.1): a $0.35$ pt stroke.
  7. vanishing at $\mathbf{0.027700}$ (Observation 3.2): none at $300$ dpi and above.
  8. difference from $\mathbf{1.028571}$ to $\mathbf{0.171429}$ times (Computation 3.1): shrinks with resolution.
  9. $2.900000$ shaded by area (Observation 4.1): independent of position.
  10. by centre, or grey by area (Observation 4.1): the separator; Paper 731.

Closing: At low resolution the same stroke changes width by one pixel depending on where it falls, and the share drawn wider equals the fractional part of its width. Blackening pixels whose centres lie inside, a $2.9$-pixel stroke came out $3$ pixels wide at $0.900000$ of positions and $2$ at the rest, averaging $2.900000$: width is preserved on average, but each stroke is rounded to one of two. A $0.35$ pt stroke is only $0.972222$ pixels at $200$ dpi and vanishes at $0.027700$ of positions, with the two widths differing by $1.028571$ times the stroke; at $1200$ dpi that shrank to $0.171429$ times: shading grey by covered area kept the total grey at the stroke width regardless of position. Placed among the earlier papers: beside Paper 731’s “grey is the count of dots in a cell”, we placed stroke widths rounded to a count of pixels, with the share set by the fractional part. To be honest: stroke width and resolutions are model values, and neither grid-fitting schemes nor curves nor ink spread are included.

References

  1. Yamagishi, Y. (2026). Grey in Print Is the Count of Dots in a Cell, Not Their Darkness, So the Levels Are Fixed by a Device Ratio [Paper 731]. YOI: https://www.yamagishiyuuki.com/yoi/731; DOI: 10.5281/zenodo.23015049

Reference

Yamagishi, Y. (2026). At Low Resolution a Stroke’s Width Jumps by a Pixel with Position, and the Share Drawn Wider Equals Its Width’s Fractional Part [Paper 899]. YOI: https://www.yamagishiyuuki.com/yoi/899
ORCID: 0009-0006-8587-3450

PDF (English) · PDF (Japanese) · Date proof of the English PDF (OpenTimestamps .ots) · SHA256SUMS

The record page for this paper (in Japanese, with the PDFs in each language and the date proof): YOI 899. This paper is a preprint and has not been peer reviewed.