Commit graph

37 commits

Author SHA1 Message Date
Daniel Eklöf
8c66dbbd78
ci: codespell: don’t uppercase words in the exclude list 2022-02-05 17:31:16 +01:00
Daniel Eklöf
e5926ad6be
ci: fix codespell -L usage 2022-02-05 17:29:23 +01:00
Daniel Eklöf
bfab825b02
ci: use fcft master branch 2022-02-05 17:27:30 +01:00
Daniel Eklöf
6c38c2358a
ci: allow ‘Ser’ (as in Simon Ser) in Codespell 2022-02-05 17:26:14 +01:00
Daniel Eklöf
e0227266ca
fcft: adapt to API changes in fcft-3.x
Fcft no longer uses wchar_t, but plain uint32_t to represent
codepoints.

Since we do a fair amount of string operations in foot, it still makes
sense to use something that actually _is_ a string (or character),
rather than an array of uint32_t.

For this reason, we switch out all wchar_t usage in foot to
char32_t. We also verify, at compile-time, that char32_t used
UTF-32 (which is what fcft expects).

Unfortunately, there are no string functions for char32_t. To avoid
having to re-implement all wcs*() functions, we add a small wrapper
layer of c32*() functions.

These wrapper functions take char32_t arguments, but then simply call
the corresponding wcs*() function.

For this to work, wcs*() must _also_ be UTF-32 compatible. We can
check for the presence of the  __STDC_ISO_10646__ macro. If set,
wchar_t is at least 4 bytes and its internal representation is UTF-32.

FreeBSD does *not* define this macro, because its internal wchar_t
representation depends on the current locale. It _does_ use UTF-32
_if_ the current locale is UTF-8.

Since foot enforces UTF-8, we simply need to check if __FreeBSD__ is
defined.

Other fcft API changes:

* fcft_glyph_rasterize() -> fcft_codepoint_rasterize()
* font.space_advance has been removed
* ‘tags’ have been removed from fcft_grapheme_rasterize()
* ‘fcft_log_init()’ removed
* ‘fcft_init()’ and ‘fcft_fini()’ must be explicitly called
2022-02-05 17:00:54 +01:00
Daniel Eklöf
4a00d0d050
ci (gitlab+builds.sr.ht): execute foot{,client} --version
This runs our builtin unit tests (debug builds only), and verifies it
runs, at all. (and also logs the version in the build logs...)
2021-12-11 18:52:05 +01:00
Daniel Eklöf
b1043a72f8
ci: fcft:text-shaping -> fcft:grapheme-shaping + fcft:run-shaping 2021-11-26 20:08:45 +01:00
Daniel Eklöf
154caae35a
ci: fcft: replace text-shaping with grapheme-shaping+run-shaping 2021-11-20 11:24:13 +01:00
Daniel Eklöf
3990cd4392
ci: codespell: ignore ‘doas’ 2021-08-27 20:45:19 +02:00
Daniel Eklöf
b9ef703eb1
wip: grapheme shaping 2021-06-24 17:30:45 +02:00
Daniel Eklöf
3c898770cb
ci: try switching the gitlab CI from alpine:latest -> alpine:edge 2021-05-14 13:26:13 +02:00
Daniel Eklöf
47e532d4b0
ci: build on alpine/latest, not edge 2021-04-07 19:52:46 +02:00
Daniel Eklöf
e7b2dcb619
ci: run codespell on README/INSTALL/CHANGELOG 2020-12-26 13:08:03 +01:00
Daniel Eklöf
7a2084f2c2
ci: run codespell on the man pages (the source files) 2020-12-26 12:15:52 +01:00
Craig Barnes
013cca646d meson: use wrap files for fcft/tllist subprojects
See: https://mesonbuild.com/Wrap-dependency-system-manual.html
2020-12-19 22:43:09 +00:00
Daniel Eklöf
185a6048a7
ci: fix path to junit report on release builds 2020-09-16 19:41:53 +02:00
Daniel Eklöf
0f0fec093e
ci: install fonts, needed for fcft tests 2020-09-16 19:38:50 +02:00
Daniel Eklöf
bcbf9872ec
ci: need the ‘dev’ version of ‘check’ on alpine 2020-09-16 19:29:46 +02:00
Daniel Eklöf
187b913050
ci: install ‘check’ - this enables fcft tests 2020-09-16 19:27:20 +02:00
Daniel Eklöf
0f7e9bc78a
ci: repair ninja test target 2020-09-16 19:19:51 +02:00
Daniel Eklöf
cf04e93e4b
ci: upload junit XML reports 2020-09-16 19:18:07 +02:00
Daniel Eklöf
6b20533b62
ci: explicitly enable harfbuzz in fcft 2020-09-16 19:13:22 +02:00
Daniel Eklöf
1347609c7c
ci: enable fcft’s text-shaping tests 2020-09-16 19:09:07 +02:00
Daniel Eklöf
7effd739b4
ci: gitlab: install pip 2020-08-22 10:20:21 +02:00
Daniel Eklöf
9971f3abb1
ci: gitlab: the package is called 'python3', not 'python' 2020-08-22 10:15:46 +02:00
Daniel Eklöf
f506eefe5e
ci: gitlab: pip install codespell
Alpine has no codespell package
2020-08-22 10:14:31 +02:00
Daniel Eklöf
9bedb98a0d
ci: gitlab: run codespell in the 'build' stage
This makes it run in parallel with the compilation steps
2020-08-22 10:14:10 +02:00
Daniel Eklöf
a41244a885
ci: gitlab: run a codespell stage on all *.c and *.h files 2020-08-22 10:11:20 +02:00
Daniel Eklöf
12e3a7e2a2
ci: gitlab: let's see if we can do 32-bit builds 2020-08-11 17:27:48 +02:00
Daniel Eklöf
3ccd2b6f99
ci: checkout/clone (doh!) 2020-01-14 19:38:17 +01:00
Daniel Eklöf
93cc959db2
ci: no 'git' available by default, need to install it 2020-01-14 19:36:37 +01:00
Daniel Eklöf
9d7713c56c
ci; no pushd/popd available 2020-01-14 19:35:25 +01:00
Daniel Eklöf
493a7a3202
ci: checkout tllist/fcft subprojects 2020-01-14 19:29:57 +01:00
Daniel Eklöf
28131e9dc9
ci: run unit tests 2019-11-18 17:03:30 +01:00
Daniel Eklöf
4cc9b15f55
ci: verbose ninja output 2019-11-18 17:03:19 +01:00
Daniel Eklöf
579a6bf6f6
ci: need ncurses (for 'tic' - to generate terminfo) 2019-08-17 12:47:18 +02:00
Daniel Eklöf
c4c2b93751
ci: initial CI 2019-08-17 12:44:51 +02:00