From: K.Kosako Date: Fri, 24 Aug 2018 05:28:59 +0000 (+0900) Subject: add output of PROP_INDEX_XXXX in Unicode Properties data X-Git-Tag: v6.9.0~20 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bae8f657e4e9397deb5f669d7ebb9100ef267086;p=onig add output of PROP_INDEX_XXXX in Unicode Properties data --- diff --git a/src/make_unicode_property_data.py b/src/make_unicode_property_data.py index 25fce50..16b0a0c 100755 --- a/src/make_unicode_property_data.py +++ b/src/make_unicode_property_data.py @@ -85,6 +85,16 @@ def dic_find_by_value(dic, v): return None +def make_reverse_dic(dic): + rev = {} + for key, val in dic.items(): + d = rev.get(val, None) + if d is None: + rev[val] = [key] + else: + d.append(key) + + return rev def normalize_ranges(in_ranges, sort=False): if sort: @@ -559,6 +569,12 @@ if VERSION_INFO is not None: print "#define PROPERTY_NAME_MAX_SIZE %d" % (PROPERTY_NAME_MAX_LEN + 10) print "#define CODE_RANGES_NUM %d" % (index + 1) +index_props = make_reverse_dic(PropIndex) +print '' +for i in range(index + 1): + for p in index_props[i]: + print "#define PROP_INDEX_%s %d" % (p.upper(), i) + if OUTPUT_LIST_MODE: UPF.close()