aboutsummaryrefslogtreecommitdiffstats
path: root/text/shape-build.c
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-28 16:27:28 +0100
committereunhhu <[email protected]>2026-09-28 16:27:28 +0100
commit96c35e7919e5e25187bd5adedda516a32cfc8639 (patch)
tree73419274bd29afe2ef552825ba94e1c083953008 /text/shape-build.c
parentfb8e49a31a7ba7f333965c93b08bd0c58120494e (diff)
downloadvega-96c35e7919e5e25187bd5adedda516a32cfc8639.tar.gz
vega-96c35e7919e5e25187bd5adedda516a32cfc8639.zip
Follow HarfBuzz and Unicode with one command
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.
Diffstat (limited to 'text/shape-build.c')
-rw-r--r--text/shape-build.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/text/shape-build.c b/text/shape-build.c
index 1fe1c67..2a1e589 100644
--- a/text/shape-build.c
+++ b/text/shape-build.c
@@ -1,3 +1,4 @@
+#define _POSIX_C_SOURCE 200809L /* clock_gettime */
/* Building shaping sections with HarfBuzz (text/shape-build.h): plans as
* HarfBuzz's planner compiles them (hb-ot-shape.cc's features, hb-ot-map.cc's
* masks and stages), what the section carries, and a check of it against