1
0
mirror of synced 2025-12-23 20:04:11 -05:00
Files
fonts/Lib/axisregistry/__init__.py
Marc Foley 81aa9727aa run black
2022-05-06 15:43:51 +01:00

53 lines
1.5 KiB
Python

from pkg_resources import resource_filename
from google.protobuf import text_format
from axisregistry.axes_pb2 import AxisProto
try:
from ._version import version as __version__ # type: ignore
except ImportError:
__version__ = "0.0.0+unknown"
def AxisRegistry():
registry = {}
def get_Protobuf_Message(klass, path):
message = klass()
with open(path, "rb") as text_data:
text_format.Merge(text_data.read(), message)
return message
def append_AxisMessage(path):
axis = get_Protobuf_Message(AxisProto, path)
registry[axis.tag] = axis # pylint: disable=E1101
for axis in [
"casual.textproto",
"cursive.textproto",
"fill.textproto",
"flair.textproto",
"grade.textproto",
"italic.textproto",
"monospace.textproto",
"optical_size.textproto",
"slant.textproto",
"softness.textproto",
"volume.textproto",
"weight.textproto",
"width.textproto",
"wonky.textproto",
"x_opaque.textproto",
"x_transparent_figures.textproto",
"x_transparent.textproto",
"y_opaque.textproto",
"y_transparent_ascender.textproto",
"y_transparent_descender.textproto",
"y_transparent_figures.textproto",
"y_transparent_lowercase.textproto",
"y_transparent_uppercase.textproto",
]:
append_AxisMessage(resource_filename("axisregistry", "data/" + axis))
return registry