fontTools>=4.46.0
freetype-py<2.4.0
opentypespec
opentype-sanitizer==9.*,>=9.1.0
munkres
PyYAML
toml
cmarkgfm>=0.4
rich
Jinja2
packaging
pip-api
requests
beziers==0.5.*,>=0.5.0
uharfbuzz
vharfbuzz==0.2.*,>=0.2.0

[:python_version < "3.11"]
typing_extensions

[adobefonts]

[all]
fontbakery[docs]
fontbakery[adobefonts]
fontbakery[fontval]
fontbakery[fontwerk]
fontbakery[googlefonts]
fontbakery[iso15008]
fontbakery[notofonts]
fontbakery[shaping]
fontbakery[typenetwork]
fontbakery[ufo]

[beautifulsoup4]
beautifulsoup4>=4.7.1

[docs]
myst-parser==2.*,>=2.0.0
sphinx==7.1.*,>=7.1.2
sphinx_rtd_theme==2.*,>=2.0.0
m2r==0.3.*,>=0.3.1

[fontval]
lxml

[fontwerk]
fontbakery[googlefonts]

[googlefonts]
dehinter>=3.1.0
fonttools[lxml,unicode]
protobuf<4,>=3.7.0
unicodedata2
fontbakery[beautifulsoup4]
fontbakery[googlefontsalwayslatest]
fontbakery[shaping]
fontbakery[ufo]

[googlefontsalwayslatest]
axisregistry==0.4.*,>=0.4.9
gflanguages==0.5.*,>=0.5.17
gfsubsets>=2024.2.5
glyphsets==0.6.14
shaperglot==0.5.*,>=0.5.0

[iso15008]

[notofonts]
fontbakery[googlefonts]

[shaperglot]
shaperglot<0.6.0,>=0.3.0

[shaping]
collidoscope>=0.5.2
stringbrewer
fontbakery[ufo2ft]
fontbakery[shaperglot]

[tests]
black==23.12.1
pylint==3.0.3
pytest-cov==4.1.0
pytest-xdist==3.5.0
fontbakery[all]

[typenetwork]
unicodedata2
fontbakery[beautifulsoup4]
fontbakery[ufo2ft]
fontbakery[shaperglot]
fontbakery[fontval]

[ufo]
defcon
fonttools[ufo]
ufolint
fontbakery[ufo2ft]

[ufo2ft]
ufo2ft>=2.25.2
