diff options
Diffstat (limited to 'data')
-rw-r--r-- | data/Makefile | 20 | ||||
-rw-r--r-- | data/charwidths.jl | 11 |
2 files changed, 12 insertions, 19 deletions
diff --git a/data/Makefile b/data/Makefile index ebe67ae..37bdd74 100644 --- a/data/Makefile +++ b/data/Makefile @@ -9,12 +9,9 @@ RUBY=ruby PERL=perl MAKE=make JULIA=julia +FONTFORGE=fontforge CURLFLAGS = --retry 5 --location -# use JuliaLang caching (https://github.com/staticfloat/cache.julialang.org) -# so that Travis builds do not depend on anyone's flaky servers but our own -URLCACHE=https://cache.e.ip.saba.us/ - .PHONY: clean .DELETE_ON_ERROR: @@ -25,14 +22,17 @@ utf8proc_data.c.new: data_generator.rb UnicodeData.txt GraphemeBreakProperty.txt # GNU Unifont version for font metric calculations: UNIFONT_VERSION=8.0.01 -unifont-$(UNIFONT_VERSION).ttf: - $(CURL) $(CURLFLAGS) -o $@ $(URLCACHE)http://unifoundry.com/pub/unifont-$(UNIFONT_VERSION)/font-builds/unifont-$(UNIFONT_VERSION).ttf +unifont.ttf: + $(CURL) $(CURLFLAGS) -o $@ $(URLCACHE)https://mirrors.kernel.org/gnu/unifont/unifont-$(UNIFONT_VERSION)/unifont-$(UNIFONT_VERSION).ttf + +unifont_upper.ttf: + $(CURL) $(CURLFLAGS) -o $@ $(URLCACHE)https://mirrors.kernel.org/gnu/unifont/unifont-$(UNIFONT_VERSION)/unifont_upper-$(UNIFONT_VERSION).ttf -unifont_upper-$(UNIFONT_VERSION).ttf: - $(CURL) $(CURLFLAGS) -o $@ $(URLCACHE)http://unifoundry.com/pub/unifont-$(UNIFONT_VERSION)/font-builds/unifont_upper-$(UNIFONT_VERSION).ttf +%.sfd: %.ttf + $(FONTFORGE) -lang=ff -c "Open(\"$<\");Save(\"$@\");Quit(0);" -CharWidths.txt: charwidths.jl unifont-$(UNIFONT_VERSION).ttf unifont_upper-$(UNIFONT_VERSION).ttf EastAsianWidth.txt - UNIFONT_VERSION=$(UNIFONT_VERSION) $(JULIA) charwidths.jl > $@ +CharWidths.txt: charwidths.jl unifont.sfd unifont_upper.sfd EastAsianWidth.txt + $(JULIA) charwidths.jl > $@ UnicodeData.txt: $(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/UNIDATA/UnicodeData.txt diff --git a/data/charwidths.jl b/data/charwidths.jl index 7b32a82..417483c 100644 --- a/data/charwidths.jl +++ b/data/charwidths.jl @@ -51,12 +51,6 @@ end ############################################################################# # Widths from GNU Unifont -universion=get(ENV, "UNIFONT_VERSION", "7.0.06") -for fontfile in ["unifont-$universion", "unifont_upper-$universion"] - isfile("$fontfile.ttf") || download("http://unifoundry.com/pub/unifont-$universion/font-builds/$fontfile.ttf", "$fontfile.ttf") - isfile("$fontfile.sfd") || run(`fontforge -lang=ff -c "Open(\"$fontfile.ttf\");Save(\"$fontfile.sfd\");Quit(0);"`) -end - #Read sfdfile for character widths function parsesfd(filename::String, CharWidths::Dict{Int,Int}=Dict{Int,Int}()) state=:seekchar @@ -87,15 +81,14 @@ function parsesfd(filename::String, CharWidths::Dict{Int,Int}=Dict{Int,Int}()) end CharWidths end -CharWidths=parsesfd("unifont-$universion.sfd", CharWidths) -CharWidths=parsesfd("unifont_upper-$universion.sfd", CharWidths) +CharWidths=parsesfd("unifont.sfd", CharWidths) +CharWidths=parsesfd("unifont_upper.sfd", CharWidths) ############################################################################# # Widths from UAX #11: East Asian Width # .. these take precedence over the Unifont width for all codepoints # listed explicitly as wide/full/narrow/half-width -isfile("EastAsianWidth.txt") || download("http://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt", "EastAsianWidth.txt") for line in readlines(open("EastAsianWidth.txt")) #Strip comments line[1] == '#' && continue |