1{
2 lib,
3 stdenvNoCC,
4 fetchFromGitHub,
5}:
6
7let
8 mkOpenRelayTypeface =
9 name:
10 { directory, meta }:
11 stdenvNoCC.mkDerivation (finalAttrs: {
12 pname = "open-relay-${name}";
13 version = "2025-03-20";
14
15 src = fetchFromGitHub {
16 owner = "kreativekorp";
17 repo = "open-relay";
18 tag = finalAttrs.version;
19 hash = "sha256-OQpZHPbNL3rxXH89lwtHvm7eENl8fS0M0i8IBn4m2hI=";
20 };
21
22 installPhase = ''
23 runHook preInstall
24
25
26 install -D -m444 -t "$out/share/fonts/truetype" "${directory}/"*.ttf
27 install -D -m644 -t "$out/share/doc/${finalAttrs.pname}-${finalAttrs.version}" "${directory}/OFL.txt"
28
29 runHook postInstall
30 '';
31
32 meta = {
33 homepage = "https://www.kreativekorp.com/software/fonts/index.shtml";
34 description = "Free and open source fonts from Kreative Software";
35 license = lib.licenses.ofl;
36 platforms = lib.platforms.all;
37 maintainers = with lib.maintainers; [
38 linus
39 toastal
40 ];
41 }
42 // meta;
43 });
44in
45lib.mapAttrs mkOpenRelayTypeface {
46 constructium = {
47 directory = "Constructium";
48 meta = {
49 homepage = "https://www.kreativekorp.com/software/fonts/constructium/";
50 description = "Fork of SIL Gentium designed specifically to support constructed scripts as encoded in the Under-ConScript Unicode Registry";
51 longDescription = ''
52 Constructium is a fork of SIL Gentium designed specifically to support
53 constructed scripts as encoded in the Under-ConScript Unicode Registry.
54 It is ideal for mixed Latin, Greek, Cyrillic, IPA, and conlang text in
55 web sites and documents.
56 '';
57 };
58 };
59
60 fairfax = {
61 directory = "Fairfax";
62 meta = {
63 homepage = "https://www.kreativekorp.com/software/fonts/fairfax/";
64 description = "6×12 bitmap font supporting many Unicode blocks & scripts as well as constructed scripts";
65 longDescription = ''
66 Fairfax is a 6×12 bitmap font for terminals, text editors, IDEs, etc. It
67 supports many scripts and a large number of Unicode blocks as well as
68 constructed scripts as encoded in the Under-ConScript Unicode Registry,
69 pseudographics and semigraphics, and tons of private use characters. It
70 has been superceded by Fairfax HD but is still maintained.
71 '';
72 };
73 };
74
75 fairfax-hd = {
76 directory = "FairfaxHD";
77 meta = {
78 homepage = "https://www.kreativekorp.com/software/fonts/fairfaxhd/";
79 description = "Halfwidth scalable monospace font supporting many Unicode blocks & script as well as constructed scripts";
80 longDescription = ''
81 Fairfax HD is a halfwidth scalable monospace font for terminals, text
82 editors, IDEs, etc. It supports many scripts and a large number of
83 Unicode blocks as well as constructed scripts as encoded in the
84 Under-ConScript Unicode Registry, pseudographics and semigraphics, and
85 tons of private use characters.
86 '';
87 };
88 };
89
90 kreative-square = {
91 directory = "KreativeSquare";
92 meta = {
93 homepage = "https://www.kreativekorp.com/software/fonts/ksquare/";
94 description = "Fullwidth scalable monospace font designed specifically to support pseudographics, semigraphics, and private use characters";
95 };
96 };
97}