<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vega/text/upstream.py, branch master</title>
<subtitle>Surface runtime projecting Pure views across pixel, terminal, CLI, and web.
</subtitle>
<id>http://git.yeowoo.org/vega/atom?h=master</id>
<link rel='self' href='http://git.yeowoo.org/vega/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/vega/'/>
<updated>2026-09-28T15:31:53Z</updated>
<entry>
<title>Leave a generated file as it was when its generator fails</title>
<updated>2026-09-28T15:31:53Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-09-28T15:31:53Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/vega/commit/?id=30a730c54298f6abafc622045cc2e6542126f735'/>
<id>urn:sha1:30a730c54298f6abafc622045cc2e6542126f735</id>
<content type='text'>
Run against HarfBuzz 14.5.0 and Unicode 18.0.0, text/unicode.py met a
line breaking class it does not know (HH) and text/syllabic.py a table
laid out otherwise, and the tool had already emptied both files. A
generator's output now replaces its file only when it succeeds, and the
tool stops before building when one fails: those are what to port first.
</content>
</entry>
<entry>
<title>Follow HarfBuzz and Unicode with one command</title>
<updated>2026-09-28T15:27:28Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-09-28T15:27:28Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/vega/commit/?id=96c35e7919e5e25187bd5adedda516a32cfc8639'/>
<id>urn:sha1:96c35e7919e5e25187bd5adedda516a32cfc8639</id>
<content type='text'>
text/upstream.py brings in a HarfBuzz release (default: the one the
build links) and the UCD of the Unicode version its tables came from,
builds that HarfBuzz as one static library from its amalgamated source
(no system package, any version), regenerates the Unicode tables and the
syllabic ones, holds the syllable machines to HarfBuzz's compiled ones,
and runs the text checks built against it: Unicode's conformance tests on
that UCD, random shaping against that HarfBuzz, the layout's promises,
the kern class tests, HarfBuzz's own suite. --corpus adds every installed
font (text/fonts.py, the corpus runner, now in the tree). What a new
version breaks shows as failing checks with the font and the input to
port a fix from; the generated files are left changed for review.

make check-text is those checks alone; UCD and HARFBUZZ_SRC default to
build/upstream's when the tool fetched them. Its first run found that
text/shape-build.c used clock_gettime without asking for POSIX, building
only because the system HarfBuzz's headers did. Against HarfBuzz 10.2.0
built from source and the 16.0.0 UCD, every check passes in about a
minute.
</content>
</entry>
</feed>
