From 6db99f51209ebde97311df3aac081f82589319cb Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Fri, 29 Oct 2021 11:10:29 -0700 Subject: implemented functionality to compute rune widths from unicode data --- sys/libunicode/rules.mk | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'sys/libunicode/rules.mk') diff --git a/sys/libunicode/rules.mk b/sys/libunicode/rules.mk index aca7348..5ba9b89 100644 --- a/sys/libunicode/rules.mk +++ b/sys/libunicode/rules.mk @@ -11,18 +11,25 @@ SRCS_$(d) := \ $(d)/canfit.c \ $(d)/runelen.c \ $(d)/len.c \ - $(d)/runetype-$(UNICODE).c + $(d)/runetype-$(UNICODE).c \ + $(d)/runewidth-$(UNICODE).c LIBS_$(d) := $(d)/libunicode.a include share/paths.mk +# ======================================================================== +# table generation + +$(d)/vendor/common.o: $(d)/vendor/common.c + $(COMPILE) + # rune categories $(d)/vendor/UnicodeData-$(UNICODE).txt: @echo "GET UnicodeData.txt";\ curl https://www.unicode.org/Public/$(UNICODE)/ucd/UnicodeData.txt > $@ -$(d)/vendor/mkrunetype: $(d)/vendor/mkrunetype.c $(OBJ_DIR)/sys/base/base.a +$(d)/vendor/mkrunetype: $(d)/vendor/mkrunetype.c $(d)/vendor/common.o $(OBJ_DIR)/sys/base/base.a $(COMPLINK) GENS += $(d)/vendor/mkrunetype @@ -30,12 +37,25 @@ GENS += $(d)/vendor/mkrunetype $(d)/runetype-$(UNICODE).c: $(d)/vendor/UnicodeData-$(UNICODE).txt $(d)/vendor/mkrunetype @$(dir $@)vendor/mkrunetype $< > $@ +# rune widths +$(d)/vendor/EastAsianWidth-$(UNICODE).txt: + @echo "GET EastAsianWidth.txt";\ + curl https://www.unicode.org/Public/$(UNICODE)/ucd/EastAsianWidth.txt > $@ + +$(d)/vendor/mkrunewidth: $(d)/vendor/mkrunewidth.c $(d)/vendor/common.o $(OBJ_DIR)/sys/base/base.a + $(COMPLINK) + +GENS += $(d)/vendor/mkrunewidth + +$(d)/runewidth-$(UNICODE).c: $(d)/vendor/mkrunewidth $(d)/vendor/UnicodeData-$(UNICODE).txt $(d)/vendor/EastAsianWidth-$(UNICODE).txt + @$(dir $@)vendor/mkrunewidth $(filter-out $<, $^) #> $@ + # grapheme boundaries $(d)/vendor/GraphemeBreakProperty-$(UNICODE).txt: @echo "GET GraphemeBreakProperty.txt";\ curl https://www.unicode.org/Public/$(UNICODE)/ucd/auxiliary/GraphemeBreakProperty.txt > $@ -$(d)/vendor/mkgraphemedata: $(d)/vendor/mkgraphemedata.c $(OBJ_DIR)/sys/base/base.a +$(d)/vendor/mkgraphemedata: $(d)/vendor/mkgraphemedata.c $(d)/vendor/common.o $(OBJ_DIR)/sys/base/base.a $(COMPLINK) $(d)/graphemedata-$(UNICODE).c: $(d)/vendor/mkgraphemedata $(d)/vendor/GraphemeBreakProperty-$(UNICODE).txt @@ -43,6 +63,9 @@ $(d)/graphemedata-$(UNICODE).c: $(d)/vendor/mkgraphemedata $(d)/vendor/GraphemeB GENS += $(d)/vendor/mkgraphemedata +# ======================================================================== +# normal operations + $(LIBS_$(d)): $(OBJS_$(d)) $(ARCHIVE) -- cgit v1.2.1