From 17feda460879362e0d5b2ede1463f30c31d9a172 Mon Sep 17 00:00:00 2001 From: Simon Cozens Date: Mon, 5 Sep 2022 12:58:00 +0100 Subject: [PATCH] Cythonize lexer (#2799) --- Lib/fontTools/feaLib/lexer.py | 6 ++++++ setup.py | 3 +++ 2 files changed, 9 insertions(+) diff --git a/Lib/fontTools/feaLib/lexer.py b/Lib/fontTools/feaLib/lexer.py index 140fbd829..478383f1f 100644 --- a/Lib/fontTools/feaLib/lexer.py +++ b/Lib/fontTools/feaLib/lexer.py @@ -3,6 +3,12 @@ from fontTools.feaLib.location import FeatureLibLocation import re import os +try: + import cython +except ImportError: + # if cython not installed, use mock module with no-op decorators and types + from fontTools.misc import cython + class Lexer(object): NUMBER = "NUMBER" diff --git a/setup.py b/setup.py index 216e23d86..39ef09b4a 100755 --- a/setup.py +++ b/setup.py @@ -74,6 +74,9 @@ if with_cython is True or (with_cython is None and has_cython): ext_modules.append( Extension("fontTools.varLib.iup", ["Lib/fontTools/varLib/iup.py"]), ) + ext_modules.append( + Extension("fontTools.feaLib.lexer", ["Lib/fontTools/feaLib/lexer.py"]), + ) extras_require = { # for fontTools.ufoLib: to read/write UFO fonts