summaryrefslogtreecommitdiff
path: root/generate.py
diff options
context:
space:
mode:
Diffstat (limited to 'generate.py')
-rw-r--r--generate.py30
1 files changed, 24 insertions, 6 deletions
diff --git a/generate.py b/generate.py
index 4615724..df5236d 100644
--- a/generate.py
+++ b/generate.py
@@ -39,15 +39,33 @@ def _write_java_fragment(dingbats):
def _write_javascript_module(dingbats):
+ dingbats_by_typeface_name = {}
+
+ for dingbat in dingbats:
+ typeface_name = dingbat["Typeface name"]
+ dingbat_code_point = int(dingbat["Dingbat dec"])
+ unicode_code_point = int(dingbat["Unicode dec"])
+ dingbats_by_typeface_name.setdefault(typeface_name, {})[dingbat_code_point] = unicode_code_point
+
with _open_text_file("js/src/dingbats.ts") as typescript_file:
- typescript_file.write("const dingbats = [\n")
+ typescript_file.write("const dingbats: {[typefaceName: string]: {[dingbatCodePoint: string]: number}} = {\n")
- for dingbat in dingbats:
- typescript_file.write(" ")
- json.dump(dingbat, typescript_file)
- typescript_file.write(",\n")
+ for typeface_name, dingbat_to_unicode in dingbats_by_typeface_name.items():
+ typescript_file.write(" " * 4)
+ json.dump(typeface_name.upper(), typescript_file)
+ typescript_file.write(": {\n")
+
+ for dingbat_code_point, unicode_code_point in dingbat_to_unicode.items():
+ typescript_file.write(" " * 8)
+ typescript_file.write(str(dingbat_code_point))
+ typescript_file.write(": ")
+ typescript_file.write(str(unicode_code_point))
+ typescript_file.write(",\n")
+
+ typescript_file.write(" " * 4)
+ typescript_file.write("},\n")
- typescript_file.write("];\n")
+ typescript_file.write("};\n")
typescript_file.write("export default dingbats;\n");