├── .init.stamp
├── documentation
├── image1.png
├── screenshots
│ └── 2021-08-22-040649_1920x1080_scrot.png
└── image1.py
├── fonts
├── otf
│ ├── Rubik-Bold.otf
│ ├── Rubik-Black.otf
│ ├── Rubik-Italic.otf
│ ├── Rubik-Light.otf
│ ├── Rubik-Medium.otf
│ ├── Rubik-Regular.otf
│ ├── Rubik-ExtraBold.otf
│ ├── Rubik-SemiBold.otf
│ ├── Rubik-BlackItalic.otf
│ ├── Rubik-BoldItalic.otf
│ ├── Rubik-LightItalic.otf
│ ├── Rubik-MediumItalic.otf
│ ├── Rubik-SemiBoldItalic.otf
│ └── Rubik-ExtraBoldItalic.otf
├── ttf
│ ├── Rubik-Bold.ttf
│ ├── Rubik-Black.ttf
│ ├── Rubik-Italic.ttf
│ ├── Rubik-Light.ttf
│ ├── Rubik-Medium.ttf
│ ├── Rubik-Regular.ttf
│ ├── Rubik-ExtraBold.ttf
│ ├── Rubik-SemiBold.ttf
│ ├── Rubik-BlackItalic.ttf
│ ├── Rubik-BoldItalic.ttf
│ ├── Rubik-LightItalic.ttf
│ ├── Rubik-MediumItalic.ttf
│ ├── Rubik-SemiBoldItalic.ttf
│ └── Rubik-ExtraBoldItalic.ttf
├── variable
│ ├── Rubik[wght].ttf
│ └── Rubik-Italic[wght].ttf
└── webfonts
│ ├── Rubik-Black.woff2
│ ├── Rubik-Bold.woff2
│ ├── Rubik-Light.woff2
│ ├── Rubik-Italic.woff2
│ ├── Rubik-Medium.woff2
│ ├── Rubik-Regular.woff2
│ ├── Rubik-BoldItalic.woff2
│ ├── Rubik-ExtraBold.woff2
│ ├── Rubik-SemiBold.woff2
│ ├── Rubik-BlackItalic.woff2
│ ├── Rubik-LightItalic.woff2
│ ├── Rubik-MediumItalic.woff2
│ ├── Rubik-ExtraBoldItalic.woff2
│ └── Rubik-SemiBoldItalic.woff2
├── sources
├── config.yaml
└── Rena.ufo
│ ├── glyphs
│ ├── at.glif
│ ├── eight.glif
│ ├── five.glif
│ ├── four.glif
│ ├── nine.glif
│ ├── one.glif
│ ├── seven.glif
│ ├── six.glif
│ ├── three.glif
│ ├── two.glif
│ ├── zero.glif
│ ├── ampersand.glif
│ ├── slash.glif
│ ├── space.glif
│ ├── I_.glif
│ ├── K_.glif
│ ├── M_.glif
│ ├── N_.glif
│ ├── T_.glif
│ ├── W_.glif
│ ├── X_.glif
│ ├── Y_.glif
│ ├── l.glif
│ ├── w.glif
│ ├── x.glif
│ ├── y.glif
│ ├── J_.glif
│ ├── A_.glif
│ ├── L_.glif
│ ├── v.glif
│ ├── z.glif
│ ├── U_.glif
│ ├── Z_.glif
│ ├── V_.glif
│ ├── i.glif
│ ├── colon.glif
│ ├── F_.glif
│ ├── r.glif
│ ├── D_.glif
│ ├── o.glif
│ ├── O_.glif
│ ├── G_.glif
│ ├── Q_.glif
│ ├── S_.glif
│ ├── C_.glif
│ ├── H_.glif
│ ├── E_.glif
│ ├── u.glif
│ ├── j.glif
│ ├── k.glif
│ ├── h.glif
│ ├── n.glif
│ ├── P_.glif
│ ├── c.glif
│ ├── q.glif
│ ├── p.glif
│ ├── t.glif
│ ├── f.glif
│ ├── d.glif
│ ├── e.glif
│ ├── b.glif
│ ├── R_.glif
│ ├── s.glif
│ ├── B_.glif
│ ├── g.glif
│ ├── m.glif
│ ├── a.glif
│ └── contents.plist
│ ├── layercontents.plist
│ ├── metainfo.plist
│ └── fontinfo.plist
├── .templaterc.json
├── requirements.txt
├── .gitignore
├── AUTHORS.txt
├── CONTRIBUTORS.txt
├── scripts
├── read-config.py
└── first-run.py
├── Makefile
├── .github
└── workflows
│ └── build.yaml
├── OFL.txt
└── README.md
/.init.stamp:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/documentation/image1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/documentation/image1.png
--------------------------------------------------------------------------------
/fonts/otf/Rubik-Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-Bold.otf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-Bold.ttf
--------------------------------------------------------------------------------
/sources/config.yaml:
--------------------------------------------------------------------------------
1 | sources:
2 | - Rena.ufo
3 | familyName: Rena
4 | buildVariable: False
5 |
--------------------------------------------------------------------------------
/fonts/otf/Rubik-Black.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-Black.otf
--------------------------------------------------------------------------------
/fonts/otf/Rubik-Italic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-Italic.otf
--------------------------------------------------------------------------------
/fonts/otf/Rubik-Light.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-Light.otf
--------------------------------------------------------------------------------
/fonts/otf/Rubik-Medium.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-Medium.otf
--------------------------------------------------------------------------------
/fonts/otf/Rubik-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-Regular.otf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-Black.ttf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-Italic.ttf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-Light.ttf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-Medium.ttf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-Regular.ttf
--------------------------------------------------------------------------------
/.templaterc.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [".github/**/*", "Makefile", "scripts/**/*", "requirements.txt"]
3 | }
4 |
--------------------------------------------------------------------------------
/fonts/otf/Rubik-ExtraBold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-ExtraBold.otf
--------------------------------------------------------------------------------
/fonts/otf/Rubik-SemiBold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-SemiBold.otf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-ExtraBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-ExtraBold.ttf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-SemiBold.ttf
--------------------------------------------------------------------------------
/fonts/otf/Rubik-BlackItalic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-BlackItalic.otf
--------------------------------------------------------------------------------
/fonts/otf/Rubik-BoldItalic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-BoldItalic.otf
--------------------------------------------------------------------------------
/fonts/otf/Rubik-LightItalic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-LightItalic.otf
--------------------------------------------------------------------------------
/fonts/otf/Rubik-MediumItalic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-MediumItalic.otf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-BlackItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-BlackItalic.ttf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-BoldItalic.ttf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-LightItalic.ttf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-MediumItalic.ttf
--------------------------------------------------------------------------------
/fonts/variable/Rubik[wght].ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/variable/Rubik[wght].ttf
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-Black.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-Black.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-Bold.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-Light.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-Light.woff2
--------------------------------------------------------------------------------
/fonts/otf/Rubik-SemiBoldItalic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-SemiBoldItalic.otf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-SemiBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-SemiBoldItalic.ttf
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-Italic.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-Medium.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-Regular.woff2
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | fontmake>=2.4
2 | fontbakery>=0.8
3 | gftools[qa]>=0.7
4 | drawbot-skia>=0.4.8
5 | sh>=1.14.2
6 |
--------------------------------------------------------------------------------
/fonts/otf/Rubik-ExtraBoldItalic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/otf/Rubik-ExtraBoldItalic.otf
--------------------------------------------------------------------------------
/fonts/ttf/Rubik-ExtraBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/ttf/Rubik-ExtraBoldItalic.ttf
--------------------------------------------------------------------------------
/fonts/variable/Rubik-Italic[wght].ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/variable/Rubik-Italic[wght].ttf
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-BoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-BoldItalic.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-ExtraBold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-ExtraBold.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-SemiBold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-SemiBold.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-BlackItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-BlackItalic.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-LightItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-LightItalic.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-MediumItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-MediumItalic.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-ExtraBoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-ExtraBoldItalic.woff2
--------------------------------------------------------------------------------
/fonts/webfonts/Rubik-SemiBoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/fonts/webfonts/Rubik-SemiBoldItalic.woff2
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/at.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/eight.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/five.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/four.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/nine.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/one.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/seven.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/six.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/three.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/two.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/zero.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/ampersand.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/documentation/screenshots/2021-08-22-040649_1920x1080_scrot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eliheuer/rena/HEAD/documentation/screenshots/2021-08-22-040649_1920x1080_scrot.png
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/slash.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/space.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | venv
3 | build.stamp
4 | proof
5 | sources/Rena_backups
6 |
7 | # OS generated files #
8 | ######################
9 | .DS_Store
10 | .DS_Store?
11 | ._*
12 | .Spotlight-V100
13 | .Trashes
14 | ehthumbs.db
15 | Thumbs.db
16 |
--------------------------------------------------------------------------------
/AUTHORS.txt:
--------------------------------------------------------------------------------
1 | # This is the official list of project authors for copyright purposes.
2 | # This file is distinct from the CONTRIBUTORS.txt file.
3 | # See the latter for an explanation.
4 | #
5 | # Names should be added to this file as:
6 | # Name or Organization
7 |
8 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/layercontents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public.default
7 | glyphs
8 |
9 |
10 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/metainfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | creator
6 | org.linebender.norad
7 | formatVersion
8 | 3
9 |
10 |
--------------------------------------------------------------------------------
/CONTRIBUTORS.txt:
--------------------------------------------------------------------------------
1 | # This is the list of people who have contributed to this project,
2 | # and includes those not listed in AUTHORS.txt because they are not
3 | # copyright authors. For example, company employees may be listed
4 | # here because their company holds the copyright and is listed there.
5 | #
6 | # When adding J Random Contributor's name to this file, either J's
7 | # name or J's organization's name should be added to AUTHORS.txt
8 | #
9 | # Names should be added to this file as:
10 | # Name
11 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/I_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/K_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/M_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/N_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/T_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/W_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/X_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/Y_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/l.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/w.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/x.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/y.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/J_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/fontinfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ascender
6 | 768
7 | capHeight
8 | 704
9 | descender
10 | -256
11 | familyName
12 | Rena
13 | styleName
14 | Regular
15 | unitsPerEm
16 | 1000
17 | xHeight
18 | 512
19 |
20 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/A_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/L_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/v.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/z.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/U_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/Z_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/V_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/i.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/colon.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/F_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/r.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/D_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/o.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/O_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/G_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/Q_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/S_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/C_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/H_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/E_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/u.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/j.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/scripts/read-config.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # Yes, this is a Bad YAML Parser, but at this stage we are not in the
3 | # venv and do not know what modules the user has available, so for
4 | # maximum compatibility, we are just assuming a plain Python distribution.
5 | import argparse
6 | import re
7 | import sys
8 | import os
9 |
10 | parser = argparse.ArgumentParser()
11 | group = parser.add_mutually_exclusive_group(required=True)
12 | group.add_argument('--sources',action='store_true')
13 | group.add_argument('--family',action='store_true')
14 | args = parser.parse_args()
15 |
16 | with open(os.path.join("sources", "config.yaml")) as config:
17 | data = config.read()
18 |
19 | if args.family:
20 | m = re.search(r"(?m)^familyName: (.*)", data)
21 | if m:
22 | print(m[1])
23 | sys.exit(0)
24 | else:
25 | print("Could not determine family name from config file!")
26 | sys.exit(1)
27 |
28 | toggle = False
29 | sources = []
30 | for line in data.splitlines():
31 | if re.match("^sources:", line):
32 | toggle = True
33 | continue
34 | if toggle:
35 | m = re.match(r"^\s+-\s*(.*)", line)
36 | if m:
37 | sources.append("sources/"+m[1])
38 | else:
39 | toggle = False
40 | if sources:
41 | print(" ".join(sources))
42 | sys.exit(0)
43 | else:
44 | print("Could not determine sources from config file!")
45 | sys.exit(1)
46 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/k.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/h.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/n.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/P_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/c.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/q.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/p.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/t.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/f.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/d.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/e.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/b.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/R_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | SOURCES=$(shell python3 scripts/read-config.py --sources )
2 | FAMILY=$(shell python3 scripts/read-config.py --family )
3 | DRAWBOT_SCRIPTS=$(shell ls documentation/*.py)
4 | DRAWBOT_OUTPUT=$(shell ls documentation/*.py | sed 's/\.py/.png/g')
5 |
6 | help:
7 | @echo "###"
8 | @echo "# Build targets for $(FAMILY)"
9 | @echo "###"
10 | @echo
11 | @echo " make build: Builds the fonts and places them in the fonts/ directory"
12 | @echo " make test: Tests the fonts with fontbakery"
13 | @echo " make proof: Creates HTML proof documents in the proof/ directory"
14 | @echo " make images: Creates PNG specimen images in the documentation/ directory"
15 | @echo
16 |
17 | build: build.stamp sources/config.yaml $(SOURCES)
18 |
19 | venv: venv/touchfile
20 |
21 | build.stamp: venv .init.stamp
22 | . venv/bin/activate; gftools builder sources/config.yaml && touch build.stamp
23 |
24 | .init.stamp: venv
25 | . venv/bin/activate; python3 scripts/first-run.py
26 |
27 | venv/touchfile: requirements.txt
28 | test -d venv || python3 -m venv venv
29 | . venv/bin/activate; pip install -Ur requirements.txt
30 | touch venv/touchfile
31 |
32 | test: venv build.stamp
33 | . venv/bin/activate; fontbakery check-googlefonts -l WARN --succinct --badges badges --html fontbakery-report.html --ghmarkdown fontbakery-report.md $(shell find fonts -type f)
34 |
35 | proof: venv build.stamp
36 | . venv/bin/activate; gftools gen-html proof $(shell find fonts/ttf -type f) -o proof
37 |
38 | images: venv build.stamp $(DRAWBOT_OUTPUT)
39 | git add documentation/*.png && git commit -m "Rebuild images" documentation/*.png
40 |
41 | %.png: %.py build.stamp
42 | python3 $< --output $@
43 |
44 | clean:
45 | rm -rf venv
46 | find . -name "*.pyc" | xargs rm delete
47 |
48 | update-ufr:
49 | npx update-template https://github.com/googlefonts/Unified-Font-Repository/
50 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/s.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/B_.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/g.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/.github/workflows/build.yaml:
--------------------------------------------------------------------------------
1 | name: Build font and specimen
2 |
3 | on: [push]
4 |
5 | jobs:
6 | build:
7 | runs-on: ubuntu-latest
8 | steps:
9 | - uses: actions/checkout@v2
10 | - name: Set up Python 3.8
11 | uses: actions/setup-python@v2
12 | with:
13 | python-version: 3.8
14 | - name: Install ttfautohint
15 | run: |
16 | sudo apt-get update
17 | sudo apt-get install ttfautohint
18 | - uses: actions/cache@v2
19 | with:
20 | path: ./venv/
21 | key: ${{ runner.os }}-venv-${{ hashFiles('**/requirements*.txt') }}
22 | restore-keys: |
23 | ${{ runner.os }}-venv-
24 | - name: Do first-run script if necessary
25 | run: make .init.stamp
26 | if: github.repository != 'googlefonts/Unified-Font-Repository'
27 | - uses: stefanzweifel/git-auto-commit-action@v4
28 | name: First-run setup
29 | if: github.repository != 'googlefonts/Unified-Font-Repository'
30 | with:
31 | file_pattern: .init.stamp README.md
32 | - name: Build font
33 | run: make build
34 | - name: Check with fontbakery
35 | run: make test
36 | continue-on-error: true
37 | - name: Generate proofs
38 | run: make proof
39 | - name: Rearrange
40 | run: |
41 | mkdir for-gh-pages
42 | mv fontbakery-report.md for-gh-pages
43 | mv fontbakery-report.html for-gh-pages
44 | mv badges for-gh-pages
45 | git fetch --depth=1
46 | mv proof/* for-gh-pages
47 | git checkout -f gh-pages
48 | cp -ar for-gh-pages/* .
49 | rm -rf for-gh-pages
50 | - uses: stefanzweifel/git-auto-commit-action@v4
51 | name: Commit to gh-pages
52 | with:
53 | branch: gh-pages
54 | file_pattern: fonts *.html badges
55 | - name: Archive artifacts
56 | uses: actions/upload-artifact@v2
57 | with:
58 | name: Artifacts
59 | path: |
60 | fonts
61 | *.html
62 | fontbakery-report.md
63 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/m.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/a.glif:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/documentation/image1.py:
--------------------------------------------------------------------------------
1 | from drawbot_skia.drawbot import *
2 | from fontTools.ttLib import TTFont
3 | from fontTools.misc.fixedTools import floatToFixedToStr
4 | import subprocess
5 | import sys
6 | import argparse
7 |
8 | import argparse
9 |
10 | parser = argparse.ArgumentParser()
11 | parser.add_argument('--output', metavar="PNG",
12 | help='where to write the PNG file')
13 | args = parser.parse_args()
14 |
15 | FONT_PATH = "fonts/ttf/Rubik-Regular.ttf"
16 |
17 | # CONSTANTS
18 | WIDTH, HEIGHT, MARGIN, FRAMES = 2048, 2048, 128, 1
19 | BIG_TEXT = "Aa"
20 |
21 | AUXILIARY_FONT = "Helvetica"
22 | AUXILIARY_FONT_SIZE = 48
23 |
24 | # Constants we will work out dynamically
25 | MY_URL = subprocess.check_output("git remote get-url origin", shell=True).decode()
26 |
27 | ttFont = TTFont(FONT_PATH)
28 |
29 | MY_FONT_NAME = ttFont["name"].getDebugName(4)
30 | FONT_VERSION = "v%s" % floatToFixedToStr(ttFont["head"].fontRevision, 16)
31 |
32 | # DRAWS A GRID
33 | def grid():
34 | stroke(1, 0.2)
35 | strokeWidth(1)
36 | STEP_X, STEP_Y = 0, 0
37 | INCREMENT_X, INCREMENT_Y = MARGIN / 2, MARGIN / 2
38 | rect(MARGIN, MARGIN, WIDTH - (MARGIN * 2), HEIGHT - (MARGIN * 2))
39 | for x in range(29):
40 | polygon((MARGIN + STEP_X, MARGIN), (MARGIN + STEP_X, HEIGHT - MARGIN))
41 | STEP_X += INCREMENT_X
42 | for y in range(29):
43 | polygon((MARGIN, MARGIN + STEP_Y), (WIDTH - MARGIN, MARGIN + STEP_Y))
44 | STEP_Y += INCREMENT_Y
45 | polygon((WIDTH / 2, 0), (WIDTH / 2, HEIGHT))
46 | polygon((0, HEIGHT / 2), (WIDTH, HEIGHT / 2))
47 |
48 |
49 | # REMAP INPUT RANGE TO VF AXIS RANGE
50 | # (E.G. SINE WAVE(-1,1) to WGHT(100,900))
51 | def remap(value, inputMin, inputMax, outputMin, outputMax):
52 | inputSpan = inputMax - inputMin # FIND INPUT RANGE SPAN
53 | outputSpan = outputMax - outputMin # FIND OUTPUT RANGE SPAN
54 | valueScaled = float(value - inputMin) / float(inputSpan)
55 | return outputMin + (valueScaled * outputSpan)
56 |
57 |
58 | # DRAW PAGE
59 | newPage(WIDTH, HEIGHT)
60 | font(FONT_PATH)
61 | fill(0)
62 | rect(-2, -2, WIDTH + 2, HEIGHT + 2)
63 | # grid() # Toggle for grid view
64 |
65 |
66 | # MAIN TEXT
67 | fill(1)
68 | stroke(None)
69 | fontSize(MARGIN * 8)
70 | text(BIG_TEXT, (MARGIN * 3.5, MARGIN * 5))
71 |
72 |
73 | # MARGIN LINES
74 | stroke(1)
75 | strokeWidth(2)
76 | line((MARGIN, HEIGHT - MARGIN), (WIDTH - MARGIN, HEIGHT - MARGIN))
77 | line((MARGIN, MARGIN), (WIDTH - MARGIN, MARGIN))
78 | stroke(None)
79 |
80 |
81 | # AUXILIARY TEXT
82 | font(AUXILIARY_FONT)
83 | fontSize(AUXILIARY_FONT_SIZE)
84 | POS1l = (MARGIN, HEIGHT - MARGIN * 1.5)
85 | POS1r = (WIDTH - MARGIN, HEIGHT - MARGIN * 1.5)
86 | text(MY_FONT_NAME, POS1l, align="left")
87 | text(FONT_VERSION, POS1r, align="right")
88 |
89 | POS2l = (MARGIN, MARGIN * 1.2)
90 | POS2r = (WIDTH - MARGIN, MARGIN * 1.2)
91 | text(MY_URL, POS2l, align="left")
92 | text("OFL v1.1", POS2r, align="right")
93 |
94 |
95 | # SAVE IMAGE
96 | saveImage(args.output)
97 | print("DrawBot: Done")
98 |
--------------------------------------------------------------------------------
/scripts/first-run.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | # This script is run the first time any action is performed after the repository
4 | # is cloned. If you are reading this because the automatic initialization failed,
5 | # skip down to the section headed "INITIALIZATION STEPS".
6 |
7 | from sh import git
8 | import re
9 | import sys
10 | from urllib.parse import quote
11 |
12 | BASE_OWNER = "googlefonts"
13 | BASE_REPONAME = "Unified-Font-Repository"
14 |
15 |
16 | def repo_url(owner, name):
17 | return f"https://github.com/{owner}/{name}"
18 |
19 |
20 | def web_url(owner, name):
21 | return f"https://{owner}.github.io/{name}"
22 |
23 |
24 | def raw_url(owner, name):
25 | return f"https://raw.githubusercontent.com/{owner}/{name}"
26 |
27 |
28 | def touch():
29 | open(".init.stamp", "w").close()
30 |
31 |
32 | def lose(msg, e=None):
33 | print(msg)
34 | print("You will need to do the initialization steps manually.")
35 | print("Read scripts/first-run.py for more instructions how to do this.")
36 | if e:
37 | print(
38 | "\nHere's an additional error message which may help diagnose the problem."
39 | )
40 | raise e
41 | sys.exit(1)
42 |
43 |
44 | try:
45 | my_repo_url = git.remote("get-url", "origin")
46 | except Exception as e:
47 | lose("Could not use git to find my own repository URL", e)
48 |
49 | m = re.match(r"https://github.com/(.*)/(.*)/?", str(my_repo_url))
50 | if not m:
51 | lose(
52 | f"My git repository URL ({my_repo_url}) didn't look what I expected - are you hosting this on github?"
53 | )
54 |
55 | owner, reponame = m[1], m[2]
56 |
57 | if owner == BASE_OWNER and reponame == BASE_REPONAME:
58 | print("I am being run on the upstream repository (probably due to CI)")
59 | print("All I'm going to do is create the touch file and quit.")
60 | touch()
61 | sys.exit()
62 |
63 | # INITIALIZATION STEPS
64 |
65 | # First, the README file contains URLs to pages in the `gh-pages` branch of the
66 | # repo. When initially cloned, these URLs will point to the
67 | # googlefonts/Unified-Font-Repository itself. But downstream users want links
68 | # and badges about their own font, not ours! So any URLs need to be adjusted to
69 | # refer to the end user's repository.
70 |
71 | readme = open("README.md").read()
72 |
73 | print(
74 | "Fixing URLs:", web_url(BASE_OWNER, BASE_REPONAME), "->", web_url(owner, reponame)
75 | )
76 | readme = readme.replace(web_url(BASE_OWNER, BASE_REPONAME), web_url(owner, reponame))
77 | # In the badges, the URLs to raw.githubusercontent.com are URL-encoded as they
78 | # are passed to shields.io.
79 | print(
80 | "Fixing URLs:",
81 | quote(raw_url(BASE_OWNER, BASE_REPONAME), safe=""),
82 | "->",
83 | quote(raw_url(owner, reponame), safe=""),
84 | )
85 | readme = readme.replace(
86 | quote(raw_url(BASE_OWNER, BASE_REPONAME), safe=""),
87 | quote(raw_url(owner, reponame), safe=""),
88 | )
89 |
90 | with open("README.md", "w") as fh:
91 | fh.write(readme)
92 |
93 | # Finally, we add a "touch file" called ".init.stamp" to the repository which
94 | # prevents this first-run process from being run again.
95 | touch()
96 |
--------------------------------------------------------------------------------
/sources/Rena.ufo/glyphs/contents.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | A
6 | A_.glif
7 | B
8 | B_.glif
9 | C
10 | C_.glif
11 | D
12 | D_.glif
13 | E
14 | E_.glif
15 | F
16 | F_.glif
17 | G
18 | G_.glif
19 | H
20 | H_.glif
21 | I
22 | I_.glif
23 | J
24 | J_.glif
25 | K
26 | K_.glif
27 | L
28 | L_.glif
29 | M
30 | M_.glif
31 | N
32 | N_.glif
33 | O
34 | O_.glif
35 | P
36 | P_.glif
37 | Q
38 | Q_.glif
39 | R
40 | R_.glif
41 | S
42 | S_.glif
43 | T
44 | T_.glif
45 | U
46 | U_.glif
47 | V
48 | V_.glif
49 | W
50 | W_.glif
51 | X
52 | X_.glif
53 | Y
54 | Y_.glif
55 | Z
56 | Z_.glif
57 | a
58 | a.glif
59 | ampersand
60 | ampersand.glif
61 | at
62 | at.glif
63 | b
64 | b.glif
65 | c
66 | c.glif
67 | colon
68 | colon.glif
69 | d
70 | d.glif
71 | e
72 | e.glif
73 | eight
74 | eight.glif
75 | f
76 | f.glif
77 | five
78 | five.glif
79 | four
80 | four.glif
81 | g
82 | g.glif
83 | h
84 | h.glif
85 | i
86 | i.glif
87 | j
88 | j.glif
89 | k
90 | k.glif
91 | l
92 | l.glif
93 | m
94 | m.glif
95 | n
96 | n.glif
97 | nine
98 | nine.glif
99 | o
100 | o.glif
101 | one
102 | one.glif
103 | p
104 | p.glif
105 | q
106 | q.glif
107 | r
108 | r.glif
109 | s
110 | s.glif
111 | seven
112 | seven.glif
113 | six
114 | six.glif
115 | slash
116 | slash.glif
117 | space
118 | space.glif
119 | t
120 | t.glif
121 | three
122 | three.glif
123 | two
124 | two.glif
125 | u
126 | u.glif
127 | v
128 | v.glif
129 | w
130 | w.glif
131 | x
132 | x.glif
133 | y
134 | y.glif
135 | z
136 | z.glif
137 | zero
138 | zero.glif
139 |
140 |
--------------------------------------------------------------------------------
/OFL.txt:
--------------------------------------------------------------------------------
1 | Copyright 20** The My Font Project Authors (https://github.com/googlefonts/My-Font-Repository)
2 |
3 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
4 | This license is copied below, and is also available with a FAQ at:
5 | https://scripts.sil.org/OFL
6 |
7 |
8 | -----------------------------------------------------------
9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10 | -----------------------------------------------------------
11 |
12 | PREAMBLE
13 | The goals of the Open Font License (OFL) are to stimulate worldwide
14 | development of collaborative font projects, to support the font creation
15 | efforts of academic and linguistic communities, and to provide a free and
16 | open framework in which fonts may be shared and improved in partnership
17 | with others.
18 |
19 | The OFL allows the licensed fonts to be used, studied, modified and
20 | redistributed freely as long as they are not sold by themselves. The
21 | fonts, including any derivative works, can be bundled, embedded,
22 | redistributed and/or sold with any software provided that any reserved
23 | names are not used by derivative works. The fonts and derivatives,
24 | however, cannot be released under any other type of license. The
25 | requirement for fonts to remain under this license does not apply
26 | to any document created using the fonts or their derivatives.
27 |
28 | DEFINITIONS
29 | "Font Software" refers to the set of files released by the Copyright
30 | Holder(s) under this license and clearly marked as such. This may
31 | include source files, build scripts and documentation.
32 |
33 | "Reserved Font Name" refers to any names specified as such after the
34 | copyright statement(s).
35 |
36 | "Original Version" refers to the collection of Font Software components as
37 | distributed by the Copyright Holder(s).
38 |
39 | "Modified Version" refers to any derivative made by adding to, deleting,
40 | or substituting -- in part or in whole -- any of the components of the
41 | Original Version, by changing formats or by porting the Font Software to a
42 | new environment.
43 |
44 | "Author" refers to any designer, engineer, programmer, technical
45 | writer or other person who contributed to the Font Software.
46 |
47 | PERMISSION & CONDITIONS
48 | Permission is hereby granted, free of charge, to any person obtaining
49 | a copy of the Font Software, to use, study, copy, merge, embed, modify,
50 | redistribute, and sell modified and unmodified copies of the Font
51 | Software, subject to the following conditions:
52 |
53 | 1) Neither the Font Software nor any of its individual components,
54 | in Original or Modified Versions, may be sold by itself.
55 |
56 | 2) Original or Modified Versions of the Font Software may be bundled,
57 | redistributed and/or sold with any software, provided that each copy
58 | contains the above copyright notice and this license. These can be
59 | included either as stand-alone text files, human-readable headers or
60 | in the appropriate machine-readable metadata fields within text or
61 | binary files as long as those fields can be easily viewed by the user.
62 |
63 | 3) No Modified Version of the Font Software may use the Reserved Font
64 | Name(s) unless explicit written permission is granted by the corresponding
65 | Copyright Holder. This restriction only applies to the primary font name as
66 | presented to the users.
67 |
68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69 | Software shall not be used to promote, endorse or advertise any
70 | Modified Version, except to acknowledge the contribution(s) of the
71 | Copyright Holder(s) and the Author(s) or with their explicit written
72 | permission.
73 |
74 | 5) The Font Software, modified or unmodified, in part or in whole,
75 | must be distributed entirely under this license, and must not be
76 | distributed under any other license. The requirement for fonts to
77 | remain under this license does not apply to any document created
78 | using the Font Software.
79 |
80 | TERMINATION
81 | This license becomes null and void if any of the above conditions are
82 | not met.
83 |
84 | DISCLAIMER
85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93 | OTHER DEALINGS IN THE FONT SOFTWARE.
94 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ----
2 |
3 | ## Screenshot Gallery
4 |
5 | 
6 |
7 | ## Setting up your font
8 |
9 | * **New repositories.** Hit the green button above ("Use this template") to create your own repository.\
10 | *Make sure to click the checkbox marked "Include all branches".*
11 |
12 | * **Updating a repository.** To update your font repository to bring in the latest best-practices from
13 | our Unified Font Repository, run `make update-ufr` from the command line.
14 |
15 |
16 | * Replace the font sources in the `sources` directory with your own fonts. These sources may be either in Glyphs format or UFO/Designspace formats.\
17 | \
18 | Unlike many open source distributors, Google Fonts is a **curated content**. Fonts shipped to the platform have to match the [Google Fonts Specifications](https://github.com/googlefonts/gf-docs/tree/main/Spec). Please read them carefully.\
19 | \
20 | *(The sample font provided in this template is [Rubik](https://github.com/googlefonts/rubik/) by Philipp Hubert, Sebastian Fischer, and contributors.)*
21 |
22 | * Then reference the sources in the file `sources/config.yaml`, as well as making any other changes you would like to make based on the instructions in the [Google Font Builder documentation](https://github.com/googlefonts/gftools/blob/main/Lib/gftools/builder/__init__.py).
23 |
24 |
25 | * Add yourself to the `AUTHORS.txt` and `CONTRIBUTORS.txt` files.
26 |
27 | * Update the first line of the OFL.txt (year and project name). Update also the Copyright string in the sources, it has to be the same as the OFL.txt. The `.glyphs` file in this repo gives you required base charset and font info.
28 |
29 | * Finally, add and commit any files you have modified (i.e. `README.md`, `AUTHORS.txt`, `CONTRIBUTORS.txt`, the font sources, and `sources/config.yaml`) to git, then push to GitHub.
30 |
31 | * Once you are happy with your font, add promotional assets in the documentation directory. Make it different from the pic you use in this README. You can get inspired by existing tweet @googlefonts like: https://twitter.com/googlefonts/status/1415562928657416192.
32 |
33 | * Remove this section from the readme. :-)
34 | ----
35 |
36 |
37 | # My Font
38 |
39 | [![][Fontbakery]](https://eliheuer.github.io/rena/fontbakery-report.html)
40 | [![][Universal]](https://eliheuer.github.io/rena/fontbakery-report.html)
41 | [![][GF Profile]](https://eliheuer.github.io/rena/fontbakery-report.html)
42 | [![][Outline Correctness]](https://eliheuer.github.io/rena/fontbakery-report.html)
43 | [![][Shaping]](https://eliheuer.github.io/rena/fontbakery-report.html)
44 |
45 | [Fontbakery]: https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Feliheuer%2Frena%2Fgh-pages%2Fbadges%2Foverall.json
46 | [GF Profile]: https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Feliheuer%2Frena%2Fgh-pages%2Fbadges%2FGoogleFonts.json
47 | [Outline Correctness]: https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Feliheuer%2Frena%2Fgh-pages%2Fbadges%2FOutlineCorrectnessChecks.json
48 | [Shaping]: https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Feliheuer%2Frena%2Fgh-pages%2Fbadges%2FShapingChecks.json
49 | [Universal]: https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Feliheuer%2Frena%2Fgh-pages%2Fbadges%2FUniversal.json
50 |
51 | Description of your font goes here. We recommend to start with a very short presentation line (the kind you would use on twitter to present your project for example), and then add as much details as necesary :-) Origin of the project, idea of usage, concept of creation… but also number of masters, axes, character sets, etc.
52 |
53 | Don't hesitate to create images!
54 |
55 | 
56 |
57 | ## About
58 |
59 | Description of you and/or organisation goes here.
60 |
61 |
62 | ## Building
63 |
64 | Fonts are built automatically by GitHub Actions - take a look in the "Actions" tab for the latest build.
65 |
66 | If you want to build fonts manually on your own computer:
67 |
68 | * `make build` will produce font files.
69 | * `make test` will run [FontBakery](https://github.com/googlefonts/fontbakery)'s quality assurance tests.
70 | * `make proof` will generate HTML proof files.
71 |
72 | The proof files and QA tests are also available automatically via GitHub Actions - look at `https://yourname.github.io/your-font-repository-name`.
73 |
74 | ## Changelog
75 |
76 | When you update your font (new version or new release), please report all notable changes here, with a date.
77 | [Font Versioning](https://github.com/googlefonts/gf-docs/tree/main/Spec#font-versioning) is based on semver.
78 | Changelog example:
79 |
80 | **26 May 2021. Version 2.13**
81 | - MAJOR Font turned to a variable font.
82 | - SIGNIFICANT New Stylistic sets added.
83 |
84 | ## License
85 |
86 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
87 | This license is copied below, and is also available with a FAQ at
88 | https://scripts.sil.org/OFL
89 |
90 | ## Repository Layout
91 |
92 | This font repository structure is inspired by [Unified Font Repository v0.3](https://github.com/unified-font-repository/Unified-Font-Repository), modified for the Google Fonts workflow.
93 |
--------------------------------------------------------------------------------