diff --git a/.gitignore b/.gitignore
index 970a6a6..fa16d1a 100755
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,40 @@
-/docs/*
-/sources/files/*
-/_site
-.jekyll-metadata
+*~
+venv
+venv-test
+build.stamp
+proof
+fonts
+node_modules
+package-lock.json
+package.json
+master_ufo
+instance_ufos
+.ninja_log
+build.ninja
+
+# OS generated files #
+######################
.DS_Store
-/fontester
+.DS_Store?
+._*
+.Spotlight-V100
+.Trashes
+ehthumbs.db
+Thumbs.db
+
+# Autosaved by application when editing
+######################
+*(تم الحفظ تلقائيًا).*
+*(automaticky uloženo).*
+*(Automatisch gesichert).*
+*(Autosaved).*
+*(guardado automáticamente).*
+*(enregistré automatiquement).*
+*(salvato automaticamente).*
+*(自動保存).*
+*(자동 저장됨).*
+*(Salvo Automaticamente).*
+*(Автосохранение).*
+*(Otomatik Kaydedildi).*
+*(自动存储).*
+*(已自動儲存).*
diff --git a/documentation/image1.png b/documentation/image1.png
index fd05111..155f72c 100644
Binary files a/documentation/image1.png and b/documentation/image1.png differ
diff --git a/documentation/image1.py b/documentation/image1.py
index 347b137..d21458d 100644
--- a/documentation/image1.py
+++ b/documentation/image1.py
@@ -16,14 +16,14 @@
# Constants, these are the main "settings" for the image
WIDTH, HEIGHT, MARGIN, FRAMES = 2048, 2048, 128, 1
-FONT_PATH = "fonts/ttf/Maname-Regular.ttf"
+FONT_PATH = "fonts/ttf/Galle-Regular.ttf"
FONT_LICENSE = "OFL v1.1"
AUXILIARY_FONT = "Helvetica"
AUXILIARY_FONT_SIZE = 48
# Update BIG_TEXT for multiple lines
-BIG_TEXT_LINES = ["හරි?", "AbGg"]
+BIG_TEXT_LINES = ["ආ හරිද?", "agkmn"]
BIG_TEXT_FONT_SIZE = 730
BIG_TEXT_SIDE_MARGIN = MARGIN * 1
BIG_TEXT_BOTTOM_MARGIN = MARGIN * 3
diff --git a/documentation/image2.png b/documentation/image2.png
index d8da495..41e7071 100644
Binary files a/documentation/image2.png and b/documentation/image2.png differ
diff --git a/documentation/image2.py b/documentation/image2.py
index 125101e..31a0862 100644
--- a/documentation/image2.py
+++ b/documentation/image2.py
@@ -16,23 +16,21 @@
# Constants, these are the main "settings" for the image
WIDTH, HEIGHT, MARGIN, FRAMES = 2048, 2048, 128, 1
-FONT_PATH = "fonts/ttf/Maname-Regular.ttf"
+FONT_PATH = "fonts/ttf/Galle-Regular.ttf"
FONT_LICENSE = "OFL v1.1"
AUXILIARY_FONT = "Inconsolata"
AUXILIARY_FONT_SIZE = 48
-LINE_ONE = "ABCDEFGHIJKLMNOPQ"
-LINE_TWO = "RSTUVWXYZ123456789"
-LINE_THREE = "abcdefghijklmnopqrstu"
-LINE_FOUR = "vwxyz,.;:!@#$%^&*(){}[]"
-LINE_FIVE = "අආඇඈඉඊඋඌඍඎඏඐ "
-LINE_SIX = "එඒඓඔඕඖකඛගඝඞඟච"
-LINE_SEVEN = "ඡජඣඤඥඦටඨඩඪණඬත"
-LINE_EIGHT = "ථදධනඳපඵබභමඹයරලවශ"
-LINE_NINE = "ෂසහළෆ෴"
+LINE_ONE = "අආඇඈඉඊඋඌඍඎඏඐ "
+LINE_TWO = "එඒඓඔඕඖකඛගඝඞඟච"
+LINE_THREE = "ඡජඣඤඥඦටඨඩඪණඬත"
+LINE_FOUR = "ථදධනඳපඵබභමඹයරලවශ"
+LINE_FIVE = "ෂසහළෆ෴Hagkmnp"
+LINE_SIX = ",.;:!@#$%^&*(){}[]"
-BIG_TEXT_FONT_SIZE = 155
+
+BIG_TEXT_FONT_SIZE = 200
BIG_TEXT_SIDE_MARGIN = MARGIN * 1
BIG_TEXT_BOTTOM_MARGIN = MARGIN * 13.2
@@ -110,10 +108,7 @@ def draw_main_text():
text(LINE_FOUR, (BIG_TEXT_SIDE_MARGIN, BIG_TEXT_BOTTOM_MARGIN - (MARGIN * (LEADING * 3))))
text(LINE_FIVE, (BIG_TEXT_SIDE_MARGIN, BIG_TEXT_BOTTOM_MARGIN - (MARGIN * (LEADING * 4))))
text(LINE_SIX, (BIG_TEXT_SIDE_MARGIN, BIG_TEXT_BOTTOM_MARGIN - (MARGIN * (LEADING * 5))))
- text(LINE_SEVEN, (BIG_TEXT_SIDE_MARGIN, BIG_TEXT_BOTTOM_MARGIN - (MARGIN * (LEADING * 6))))
- text(LINE_EIGHT, (BIG_TEXT_SIDE_MARGIN, BIG_TEXT_BOTTOM_MARGIN - (MARGIN * (LEADING * 7))))
- text(LINE_NINE, (BIG_TEXT_SIDE_MARGIN, BIG_TEXT_BOTTOM_MARGIN - (MARGIN * (LEADING * 8))))
-
+
# Divider lines
def draw_divider_lines():
diff --git a/documentation/image3.png b/documentation/image3.png
deleted file mode 100644
index 20a0fc9..0000000
Binary files a/documentation/image3.png and /dev/null differ
diff --git a/requirements-test.in b/requirements-test.in
new file mode 100644
index 0000000..d326066
--- /dev/null
+++ b/requirements-test.in
@@ -0,0 +1,2 @@
+fontbakery[googlefonts]>=0.9.2
+gftools[qa]>=0.9.23
diff --git a/requirements-test.txt b/requirements-test.txt
new file mode 100644
index 0000000..9a45243
--- /dev/null
+++ b/requirements-test.txt
@@ -0,0 +1,453 @@
+#
+# This file is autogenerated by pip-compile with Python 3.12
+# by the following command:
+#
+# pip-compile requirements-test.in
+#
+absl-py==2.1.0
+ # via
+ # gftools
+ # nanoemoji
+ # picosvg
+afdko==4.0.1
+ # via gftools
+appdirs==1.4.4
+ # via fs
+attrs==23.2.0
+ # via
+ # cattrs
+ # outcome
+ # statmake
+ # trio
+ # ufolib2
+axisregistry==0.4.9
+ # via
+ # fontbakery
+ # gftools
+babelfont==3.0.4
+ # via
+ # collidoscope
+ # gftools
+beautifulsoup4==4.12.3
+ # via
+ # fontbakery
+ # gftools
+beziers==0.5.0
+ # via fontbakery
+blackrenderer[skia]==0.6.0
+ # via diffenator2
+booleanoperations==0.9.0
+ # via
+ # afdko
+ # fontparts
+ # ufo2ft
+brotli==1.1.0
+ # via
+ # fonttools
+ # gftools
+bump2version==1.0.1
+ # via bumpfontversion
+bumpfontversion==0.4.1
+ # via gftools
+cattrs==23.2.3
+ # via
+ # statmake
+ # ufolib2
+certifi==2024.2.2
+ # via
+ # requests
+ # selenium
+cffi==1.16.0
+ # via
+ # cmarkgfm
+ # cryptography
+ # pygit2
+ # pynacl
+cffsubr==0.3.0
+ # via ufo2ft
+charset-normalizer==3.3.2
+ # via requests
+cmarkgfm==2024.1.14
+ # via fontbakery
+collidoscope==0.6.5
+ # via fontbakery
+commandlines==0.4.1
+ # via ufolint
+compreffor==0.5.5
+ # via ufo2ft
+cryptography==42.0.7
+ # via pyjwt
+defcon[lxml,pens]==0.10.3
+ # via
+ # afdko
+ # fontbakery
+ # fontparts
+ # glyphsets
+ # mutatormath
+ # ufoprocessor
+dehinter==4.0.0
+ # via fontbakery
+deprecated==1.2.14
+ # via pygithub
+diffenator2==0.3.9
+ # via gftools
+docopt==0.6.2
+ # via num2words
+filelock==3.14.0
+ # via youseedee
+font-v==2.1.0
+ # via gftools
+fontbakery[beautifulsoup4,googlefonts,googlefontsalwayslatest,shaperglot,shaping,ufo,ufo2ft]==0.12.5
+ # via
+ # -r requirements-test.in
+ # gftools
+fontfeatures==1.8.0
+ # via
+ # babelfont
+ # gftools
+fontmake[json]==3.9.0
+ # via gftools
+fontmath==0.9.3
+ # via
+ # afdko
+ # fontmake
+ # fontparts
+ # mutatormath
+ # ufo2ft
+ # ufoprocessor
+fontparts==0.12.1
+ # via ufoprocessor
+fontpens==0.2.4
+ # via defcon
+fonttools[lxml,ufo,unicode,woff]==4.51.0
+ # via
+ # afdko
+ # axisregistry
+ # babelfont
+ # blackrenderer
+ # booleanoperations
+ # bumpfontversion
+ # cffsubr
+ # collidoscope
+ # compreffor
+ # defcon
+ # dehinter
+ # diffenator2
+ # font-v
+ # fontbakery
+ # fontfeatures
+ # fontmake
+ # fontmath
+ # fontparts
+ # fontpens
+ # gftools
+ # glyphsets
+ # glyphslib
+ # kurbopy
+ # mutatormath
+ # nanoemoji
+ # statmake
+ # ufo2ft
+ # ufolib2
+ # ufolint
+ # ufoprocessor
+ # vttlib
+freetype-py==2.3.0
+ # via
+ # diffenator2
+ # fontbakery
+fs==2.4.16
+ # via
+ # fontfeatures
+ # fonttools
+gflanguages==0.6.0
+ # via
+ # diffenator2
+ # fontbakery
+ # gftools
+ # glyphsets
+ # shaperglot
+gfsubsets==2024.2.5
+ # via
+ # fontbakery
+ # gftools
+gftools[qa]==0.9.56
+ # via -r requirements-test.in
+gitdb==4.0.11
+ # via gitpython
+gitpython==3.1.43
+ # via font-v
+glyphsets==1.0.0
+ # via
+ # diffenator2
+ # fontbakery
+ # gftools
+glyphslib==6.7.1
+ # via
+ # babelfont
+ # bumpfontversion
+ # fontmake
+ # gftools
+ # glyphsets
+h11==0.14.0
+ # via wsproto
+idna==3.7
+ # via
+ # requests
+ # trio
+importlib-resources==6.4.0
+ # via gfsubsets
+jinja2==3.1.4
+ # via
+ # diffenator2
+ # fontbakery
+ # gftools
+kurbopy==0.10.40
+ # via collidoscope
+lxml==5.2.1
+ # via
+ # afdko
+ # fontfeatures
+ # fonttools
+ # nanoemoji
+ # picosvg
+markdown-it-py==3.0.0
+ # via rich
+markupsafe==2.1.5
+ # via jinja2
+mdurl==0.1.2
+ # via markdown-it-py
+munkres==1.1.4
+ # via fontbakery
+mutatormath==3.0.1
+ # via ufoprocessor
+nanoemoji==0.15.1
+ # via gftools
+networkx==3.3
+ # via gftools
+ninja==1.11.1.1
+ # via
+ # diffenator2
+ # gftools
+ # nanoemoji
+num2words==0.5.13
+ # via shaperglot
+numpy==1.26.4
+ # via
+ # blackrenderer
+ # skia-python
+openstep-plist==0.3.1
+ # via
+ # babelfont
+ # bumpfontversion
+ # glyphslib
+opentype-sanitizer==9.1.0
+ # via
+ # fontbakery
+ # gftools
+opentypespec==1.9.1
+ # via fontbakery
+orjson==3.10.3
+ # via
+ # babelfont
+ # ufolib2
+outcome==1.3.0.post0
+ # via trio
+packaging==24.0
+ # via
+ # fontbakery
+ # gftools
+picosvg==0.22.1
+ # via nanoemoji
+pillow==10.3.0
+ # via
+ # diffenator2
+ # gftools
+ # nanoemoji
+pip-api==0.0.33
+ # via fontbakery
+pngquant-cli==2.17.0.post5
+ # via nanoemoji
+protobuf==3.20.3
+ # via
+ # axisregistry
+ # diffenator2
+ # fontbakery
+ # gflanguages
+ # gftools
+ # shaperglot
+pyahocorasick==2.1.0
+ # via diffenator2
+pybind11==2.12.0
+ # via skia-python
+pycairo==1.26.0
+ # via gftools
+pyclipper==1.3.0.post5
+ # via
+ # beziers
+ # booleanoperations
+pycparser==2.22
+ # via cffi
+pygit2==1.14.1
+ # via gftools
+pygithub==2.3.0
+ # via gftools
+pygments==2.18.0
+ # via rich
+pyjwt[crypto]==2.8.0
+ # via pygithub
+pynacl==1.5.0
+ # via pygithub
+pyparsing==3.1.2
+ # via vttlib
+pysocks==1.7.1
+ # via urllib3
+python-bidi==0.4.2
+ # via diffenator2
+python-dateutil==2.9.0.post0
+ # via strictyaml
+pyyaml==6.0.1
+ # via
+ # fontbakery
+ # gftools
+ # glyphsets
+ # shaperglot
+regex==2024.4.28
+ # via nanoemoji
+requests==2.31.0
+ # via
+ # fontbakery
+ # gftools
+ # glyphsets
+ # pygithub
+ # youseedee
+resvg-cli==0.22.0.post3
+ # via nanoemoji
+rich==13.7.1
+ # via
+ # fontbakery
+ # gftools
+rstr==3.2.2
+ # via stringbrewer
+selenium==4.20.0
+ # via diffenator2
+shaperglot==0.5.0
+ # via fontbakery
+six==1.16.0
+ # via
+ # fs
+ # python-bidi
+ # python-dateutil
+skia-pathops==0.8.0.post1
+ # via
+ # collidoscope
+ # gftools
+ # picosvg
+skia-python==124.0b7
+ # via blackrenderer
+smmap==5.0.1
+ # via gitdb
+sniffio==1.3.1
+ # via trio
+sortedcontainers==2.4.0
+ # via trio
+soupsieve==2.5
+ # via beautifulsoup4
+sre-yield==1.2
+ # via stringbrewer
+statmake==0.6.0
+ # via gftools
+strictyaml==1.7.3
+ # via
+ # gftools
+ # shaperglot
+stringbrewer==0.0.1
+ # via fontbakery
+tabulate==0.9.0
+ # via gftools
+termcolor==2.4.0
+ # via shaperglot
+toml==0.10.2
+ # via
+ # fontbakery
+ # nanoemoji
+tqdm==4.66.4
+ # via
+ # afdko
+ # collidoscope
+ # diffenator2
+trio==0.25.0
+ # via
+ # selenium
+ # trio-websocket
+trio-websocket==0.11.1
+ # via selenium
+ttfautohint-py==0.5.1
+ # via gftools
+typing-extensions==4.11.0
+ # via
+ # pygithub
+ # selenium
+ufo2ft[cffsubr,compreffor]==3.2.1
+ # via
+ # fontbakery
+ # fontmake
+ # nanoemoji
+ # shaperglot
+ufolib2[json]==0.16.0
+ # via
+ # babelfont
+ # bumpfontversion
+ # fontmake
+ # glyphslib
+ # nanoemoji
+ # vttlib
+ufolint==1.2.0
+ # via fontbakery
+ufonormalizer==0.6.1
+ # via afdko
+ufoprocessor==1.9.0
+ # via afdko
+uharfbuzz==0.39.1
+ # via
+ # blackrenderer
+ # collidoscope
+ # diffenator2
+ # fontbakery
+ # vharfbuzz
+unicodedata2==15.1.0
+ # via
+ # diffenator2
+ # fontbakery
+ # fonttools
+ # glyphsets
+unidecode==1.3.8
+ # via gftools
+urllib3[socks]==2.2.1
+ # via
+ # pygithub
+ # requests
+ # selenium
+vharfbuzz==0.3.0
+ # via
+ # fontbakery
+ # gftools
+ # shaperglot
+vttlib==0.12.0
+ # via gftools
+wrapt==1.16.0
+ # via deprecated
+wsproto==1.2.0
+ # via trio-websocket
+youseedee==0.5.3
+ # via
+ # diffenator2
+ # shaperglot
+zopfli==0.2.3
+ # via
+ # fonttools
+ # nanoemoji
+
+# The following packages are considered to be unsafe in a requirements file:
+# pip
+# setuptools
diff --git a/requirements.in b/requirements.in
new file mode 100644
index 0000000..25d651b
--- /dev/null
+++ b/requirements.in
@@ -0,0 +1,6 @@
+fontmake>=3.9.0
+gftools[qa]>=0.9.54
+drawbot-skia>=0.5.0
+sh>=2.0.6
+bumpfontversion>=0.4.1
+diffenator2>=0.3.8
diff --git a/requirements.txt b/requirements.txt
index c83c396..962c421 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,135 +1,471 @@
+#
+# This file is autogenerated by pip-compile with Python 3.12
+# by the following command:
+#
+# pip-compile requirements.in
+#
absl-py==2.1.0
+ # via
+ # gftools
+ # nanoemoji
+ # picosvg
afdko==4.0.1
+ # via gftools
appdirs==1.4.4
+ # via fs
attrs==23.2.0
+ # via
+ # cattrs
+ # outcome
+ # statmake
+ # trio
+ # ufolib2
axisregistry==0.4.9
+ # via
+ # fontbakery
+ # gftools
babelfont==3.0.4
+ # via
+ # collidoscope
+ # gftools
beautifulsoup4==4.12.3
+ # via
+ # fontbakery
+ # gftools
beziers==0.5.0
-blackrenderer==0.6.0
-booleanOperations==0.9.0
-Brotli==1.1.0
+ # via fontbakery
+blackrenderer[skia]==0.6.0
+ # via
+ # diffenator2
+ # drawbot-skia
+booleanoperations==0.9.0
+ # via
+ # afdko
+ # fontparts
+ # ufo2ft
+brotli==1.1.0
+ # via
+ # fonttools
+ # gftools
bump2version==1.0.1
+ # via bumpfontversion
bumpfontversion==0.4.1
+ # via
+ # -r requirements.in
+ # gftools
cattrs==23.2.3
+ # via
+ # statmake
+ # ufolib2
certifi==2024.2.2
+ # via
+ # requests
+ # selenium
cffi==1.16.0
+ # via
+ # cmarkgfm
+ # cryptography
+ # pygit2
+ # pynacl
cffsubr==0.3.0
+ # via ufo2ft
charset-normalizer==3.3.2
-click==8.1.7
+ # via requests
cmarkgfm==2024.1.14
+ # via fontbakery
collidoscope==0.6.5
-colorlog==6.8.2
+ # via fontbakery
commandlines==0.4.1
+ # via ufolint
compreffor==0.5.5
-cryptography==42.0.5
-defcon==0.10.3
+ # via ufo2ft
+cryptography==42.0.7
+ # via pyjwt
+defcon[lxml,pens]==0.10.3
+ # via
+ # afdko
+ # fontbakery
+ # fontparts
+ # glyphsets
+ # mutatormath
+ # ufoprocessor
dehinter==4.0.0
-Deprecated==1.2.14
-diffenator2==0.3.8
+ # via fontbakery
+deprecated==1.2.14
+ # via pygithub
+diffenator2==0.3.9
+ # via
+ # -r requirements.in
+ # gftools
docopt==0.6.2
+ # via num2words
drawbot-skia==0.5.0
-filelock==3.13.4
+ # via -r requirements.in
+filelock==3.14.0
+ # via youseedee
font-v==2.1.0
-fontbakery==0.12.3
-fontFeatures==1.8.0
-fontmake==3.9.0
-fontMath==0.9.3
-fontParts==0.12.1
-fontPens==0.2.4
-fonttools==4.51.0
+ # via gftools
+fontbakery[beautifulsoup4,googlefonts,googlefontsalwayslatest,shaperglot,shaping,ufo,ufo2ft]==0.12.5
+ # via gftools
+fontfeatures==1.8.0
+ # via
+ # babelfont
+ # gftools
+fontmake[json]==3.9.0
+ # via
+ # -r requirements.in
+ # gftools
+fontmath==0.9.3
+ # via
+ # afdko
+ # fontmake
+ # fontparts
+ # mutatormath
+ # ufo2ft
+ # ufoprocessor
+fontparts==0.12.1
+ # via ufoprocessor
+fontpens==0.2.4
+ # via defcon
+fonttools[lxml,ufo,unicode,woff]==4.51.0
+ # via
+ # afdko
+ # axisregistry
+ # babelfont
+ # blackrenderer
+ # booleanoperations
+ # bumpfontversion
+ # cffsubr
+ # collidoscope
+ # compreffor
+ # defcon
+ # dehinter
+ # diffenator2
+ # drawbot-skia
+ # font-v
+ # fontbakery
+ # fontfeatures
+ # fontmake
+ # fontmath
+ # fontparts
+ # fontpens
+ # gftools
+ # glyphsets
+ # glyphslib
+ # kurbopy
+ # mutatormath
+ # nanoemoji
+ # statmake
+ # ufo2ft
+ # ufolib2
+ # ufolint
+ # ufoprocessor
+ # vttlib
freetype-py==2.3.0
+ # via
+ # diffenator2
+ # fontbakery
fs==2.4.16
-gflanguages==0.5.17
+ # via
+ # fontfeatures
+ # fonttools
+gflanguages==0.6.0
+ # via
+ # diffenator2
+ # fontbakery
+ # gftools
+ # glyphsets
+ # shaperglot
gfsubsets==2024.2.5
-gftools==0.9.54
+ # via
+ # fontbakery
+ # gftools
+gftools[qa]==0.9.56
+ # via -r requirements.in
gitdb==4.0.11
-GitPython==3.1.43
-glyphsets==0.6.19
-glyphsLib==6.7.0
+ # via gitpython
+gitpython==3.1.43
+ # via font-v
+glyphsets==1.0.0
+ # via
+ # diffenator2
+ # fontbakery
+ # gftools
+glyphslib==6.7.1
+ # via
+ # babelfont
+ # bumpfontversion
+ # fontmake
+ # gftools
+ # glyphsets
h11==0.14.0
-hyperglot==0.6.2
+ # via wsproto
idna==3.7
-importlib_resources==6.4.0
-Jinja2==3.1.3
+ # via
+ # requests
+ # trio
+importlib-resources==6.4.0
+ # via gfsubsets
+jinja2==3.1.4
+ # via
+ # diffenator2
+ # fontbakery
+ # gftools
kurbopy==0.10.40
+ # via collidoscope
lxml==5.2.1
+ # via
+ # afdko
+ # fontfeatures
+ # fonttools
+ # nanoemoji
+ # picosvg
markdown-it-py==3.0.0
-MarkupSafe==2.1.5
+ # via rich
+markupsafe==2.1.5
+ # via jinja2
mdurl==0.1.2
+ # via markdown-it-py
munkres==1.1.4
-MutatorMath==3.0.1
+ # via fontbakery
+mutatormath==3.0.1
+ # via ufoprocessor
nanoemoji==0.15.1
+ # via gftools
networkx==3.3
+ # via gftools
ninja==1.11.1.1
+ # via
+ # diffenator2
+ # gftools
+ # nanoemoji
num2words==0.5.13
+ # via shaperglot
numpy==1.26.4
+ # via
+ # blackrenderer
+ # drawbot-skia
+ # skia-python
openstep-plist==0.3.1
+ # via
+ # babelfont
+ # bumpfontversion
+ # glyphslib
opentype-sanitizer==9.1.0
+ # via
+ # fontbakery
+ # gftools
opentypespec==1.9.1
-orjson==3.10.1
+ # via fontbakery
+orjson==3.10.3
+ # via
+ # babelfont
+ # ufolib2
outcome==1.3.0.post0
+ # via trio
packaging==24.0
+ # via
+ # fontbakery
+ # gftools
picosvg==0.22.1
+ # via nanoemoji
pillow==10.3.0
+ # via
+ # diffenator2
+ # gftools
+ # nanoemoji
pip-api==0.0.33
+ # via fontbakery
pngquant-cli==2.17.0.post5
+ # via nanoemoji
protobuf==3.20.3
+ # via
+ # axisregistry
+ # diffenator2
+ # fontbakery
+ # gflanguages
+ # gftools
+ # shaperglot
pyahocorasick==2.1.0
+ # via diffenator2
pybind11==2.12.0
+ # via skia-python
pycairo==1.26.0
+ # via gftools
pyclipper==1.3.0.post5
+ # via
+ # beziers
+ # booleanoperations
pycparser==2.22
+ # via cffi
pygit2==1.14.1
-PyGithub==2.3.0
-Pygments==2.17.2
-PyJWT==2.8.0
-PyNaCl==1.5.0
+ # via gftools
+pygithub==2.3.0
+ # via gftools
+pygments==2.18.0
+ # via rich
+pyjwt[crypto]==2.8.0
+ # via pygithub
+pynacl==1.5.0
+ # via pygithub
pyparsing==3.1.2
-PySocks==1.7.1
+ # via vttlib
+pysocks==1.7.1
+ # via urllib3
python-bidi==0.4.2
+ # via
+ # diffenator2
+ # drawbot-skia
python-dateutil==2.9.0.post0
-PyYAML==6.0.1
-regex==2024.4.16
+ # via strictyaml
+pyyaml==6.0.1
+ # via
+ # fontbakery
+ # gftools
+ # glyphsets
+ # shaperglot
+regex==2024.4.28
+ # via nanoemoji
requests==2.31.0
+ # via
+ # fontbakery
+ # gftools
+ # glyphsets
+ # pygithub
+ # youseedee
resvg-cli==0.22.0.post3
+ # via nanoemoji
rich==13.7.1
+ # via
+ # fontbakery
+ # gftools
rstr==3.2.2
-selenium==4.19.0
-setuptools==69.5.1
+ # via stringbrewer
+selenium==4.20.0
+ # via diffenator2
sh==2.0.6
+ # via -r requirements.in
shaperglot==0.5.0
+ # via fontbakery
six==1.16.0
+ # via
+ # fs
+ # python-bidi
+ # python-dateutil
skia-pathops==0.8.0.post1
-skia-python==121.0b6
+ # via
+ # collidoscope
+ # gftools
+ # picosvg
+skia-python==124.0b7
+ # via
+ # blackrenderer
+ # drawbot-skia
smmap==5.0.1
+ # via gitdb
sniffio==1.3.1
+ # via trio
sortedcontainers==2.4.0
+ # via trio
soupsieve==2.5
+ # via beautifulsoup4
sre-yield==1.2
+ # via stringbrewer
statmake==0.6.0
+ # via gftools
strictyaml==1.7.3
+ # via
+ # gftools
+ # shaperglot
stringbrewer==0.0.1
+ # via fontbakery
tabulate==0.9.0
+ # via gftools
termcolor==2.4.0
+ # via shaperglot
toml==0.10.2
-tqdm==4.66.2
+ # via
+ # fontbakery
+ # nanoemoji
+tqdm==4.66.4
+ # via
+ # afdko
+ # collidoscope
+ # diffenator2
trio==0.25.0
+ # via
+ # selenium
+ # trio-websocket
trio-websocket==0.11.1
+ # via selenium
ttfautohint-py==0.5.1
-typing_extensions==4.11.0
-ufo2ft==3.2.1
-ufoLib2==0.16.0
+ # via gftools
+typing-extensions==4.11.0
+ # via
+ # pygithub
+ # selenium
+ufo2ft[cffsubr,compreffor]==3.2.1
+ # via
+ # fontbakery
+ # fontmake
+ # nanoemoji
+ # shaperglot
+ufolib2[json]==0.16.0
+ # via
+ # babelfont
+ # bumpfontversion
+ # fontmake
+ # glyphslib
+ # nanoemoji
+ # vttlib
ufolint==1.2.0
+ # via fontbakery
ufonormalizer==0.6.1
-ufoProcessor==1.9.0
+ # via afdko
+ufoprocessor==1.9.0
+ # via afdko
uharfbuzz==0.39.1
+ # via
+ # blackrenderer
+ # collidoscope
+ # diffenator2
+ # drawbot-skia
+ # fontbakery
+ # vharfbuzz
unicodedata2==15.1.0
-Unidecode==1.3.8
-urllib3==2.2.1
-vharfbuzz==0.2.0
-vttLib==0.12.0
+ # via
+ # diffenator2
+ # drawbot-skia
+ # fontbakery
+ # fonttools
+ # glyphsets
+unidecode==1.3.8
+ # via gftools
+urllib3[socks]==2.2.1
+ # via
+ # pygithub
+ # requests
+ # selenium
+vharfbuzz==0.3.0
+ # via
+ # fontbakery
+ # gftools
+ # shaperglot
+vttlib==0.12.0
+ # via gftools
wrapt==1.16.0
+ # via deprecated
wsproto==1.2.0
+ # via trio-websocket
youseedee==0.5.3
+ # via
+ # diffenator2
+ # shaperglot
zopfli==0.2.3
+ # via
+ # fonttools
+ # nanoemoji
+
+# The following packages are considered to be unsafe in a requirements file:
+# pip
+# setuptools
diff --git a/sources/Galle-Regular.ufo/features.fea b/sources/Galle-Regular.ufo/features.fea
index de176fe..5ceacc1 100644
--- a/sources/Galle-Regular.ufo/features.fea
+++ b/sources/Galle-Regular.ufo/features.fea
@@ -3,7 +3,7 @@ languagesystem DFLT dflt;
languagesystem sinh dflt;
# Prefix: Prefix
- lookup sin_akhands {
+lookup sin_akhands {
sub sinKa sinVirama zerowidthjoiner sinSsa by sinKSsa;
sub sinKa sinVirama zerowidthjoiner sinVa by sinKVa;
sub sinTa sinVirama zerowidthjoiner sinVa by sinTVa;
@@ -25,7 +25,6 @@ feature rphf {
} rphf;
feature vatu {
-
lookup sin_yansaya {
sub sinVirama zerowidthjoiner sinYa by sinYa.post;
} sin_yansaya;
@@ -61,7 +60,6 @@ feature vatu {
} vatu;
feature pstf {
-
lookup sin_split_matra {
sub sinMatraEe by sinVirama;
sub sinMatraO by sinMatraAa;
@@ -318,7 +316,6 @@ lookup sin_virama_2 {
} abvs;
feature blws {
-
lookup sin_blws {
sub sinKa sinMatraU by sinKU;
sub sinKha sinMatraU by sinKhU;
@@ -434,7 +431,6 @@ feature blws {
} blws;
feature psts {
-
lookup sin_raer {
sub sinRa sinMatraAe by sinRAe;
sub sinRa sinMatraAae by sinRAae;
@@ -442,7 +438,6 @@ feature psts {
} psts;
feature ss01 {
-
lookup ss_01 {
sub sinDa sinMatraAa by sinDAa.ss01;
sub sinDa sinMatraAa.virama by sinDAa.virama.ss01;
diff --git a/sources/Galle-Regular.ufo/fontinfo.plist b/sources/Galle-Regular.ufo/fontinfo.plist
index 6d7e6b3..3b06d7e 100644
--- a/sources/Galle-Regular.ufo/fontinfo.plist
+++ b/sources/Galle-Regular.ufo/fontinfo.plist
@@ -11,7 +11,7 @@
descender
-184
familyName
- GalleALPHA
+ Galle
openTypeHeadCreated
2018/08/28 08:37:35
openTypeNameDescription
@@ -19,7 +19,7 @@
openTypeNameDesigner
Janaka CB Attanayake, Rajitha Manamperi
openTypeNameDesignerURL
- http://mooniak.com/ceylon-dutch-press
+ http://mooniak.com/
openTypeNameLicense
This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL
openTypeNameLicenseURL
@@ -29,13 +29,17 @@
openTypeNameManufacturerURL
http://mooniak.com
openTypeNamePreferredFamilyName
- GalleALPHA
+ Galle
openTypeNamePreferredSubfamilyName
Regular
+ openTypeNameUniqueID
+ MNIK; galle
openTypeNameVersion
- Version 0.050; ALPHA
+ Version 0.050; DEV; pre
openTypeOS2Type
+ openTypeOS2VendorID
+ MNIK
openTypeOS2WeightClass
400
openTypeOS2WidthClass
diff --git a/sources/config.yaml b/sources/config.yaml
new file mode 100644
index 0000000..724af62
--- /dev/null
+++ b/sources/config.yaml
@@ -0,0 +1,3 @@
+sources:
+ - Galle.glyphspackage
+familyName: Galle