From 464f9821bee7d24e0bec8d886bbdfe0dae705daa Mon Sep 17 00:00:00 2001 From: Cosimo Lupo Date: Tue, 21 Nov 2017 10:13:33 +0100 Subject: [PATCH] [buildUCD] make MetaTools script not depend on fontTools Removed fontTools imports to prevent bootstrapping issues for downstream package maintainers that wish to run buildUCD.py at build time (i.e. when fontTools is not installed yet). --- MetaTools/buildUCD.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/MetaTools/buildUCD.py b/MetaTools/buildUCD.py index af36f69a8..30f5dbda5 100755 --- a/MetaTools/buildUCD.py +++ b/MetaTools/buildUCD.py @@ -5,7 +5,6 @@ Tools to parse data files from the Unicode Character Database. from __future__ import print_function, absolute_import, division from __future__ import unicode_literals -from fontTools.misc.py23 import * try: from urllib.request import urlopen @@ -16,9 +15,16 @@ import re from codecs import iterdecode import logging import os +from io import open from os.path import abspath, dirname, join as pjoin, pardir, sep +try: # pragma: no cover + unicode +except NameError: + unicode = str + + UNIDATA_URL = "https://unicode.org/Public/UNIDATA/" UNIDATA_LICENSE_URL = "http://unicode.org/copyright.html#License" @@ -83,14 +89,14 @@ def parse_range_properties(infile, default=None, is_set=False): first = int(first, 16) last = int(last, 16) - data = tostr(data.rstrip(), encoding="ascii") + data = str(data.rstrip()) ranges.append((first, last, data)) ranges.sort() if isinstance(default, unicode): - default = tostr(default, encoding="ascii") + default = str(default) # fill the gaps between explicitly defined ranges last_start, last_end = -1, -1