From bdaa75f9e75e1621c6cc2466f90afe65bc93e956 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Wed, 13 Aug 2014 19:44:04 -0400 Subject: [PATCH] [subset] Accept unicode ranges Eg --unicodes=41-5a,61-7a to choose ASCII letters. Note that with this, --unicodes-file accepts fontconfig .orth files that do not include other files. --- Lib/fontTools/subset.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Lib/fontTools/subset.py b/Lib/fontTools/subset.py index d35c80be6..e0e5ab633 100644 --- a/Lib/fontTools/subset.py +++ b/Lib/fontTools/subset.py @@ -2428,7 +2428,15 @@ def parse_unicodes(s): import re s = re.sub (r"0[xX]", " ", s) s = re.sub (r"[<+>,;&#\\xXuU\n ]", " ", s) - return [int (x, 16) for x in s.split (' ') if len (x)] + l = [] + for item in s.split(): + fields = item.split('-') + if len(fields) == 1: + l.append(int(item, 16)) + else: + start,end = fields + l.extend(range(int(start, 16), int(end, 16)+1)) + return l def main(args):