def update_ttx(in_file, out_file, image_dirs, prefix, ext, aliases_file): if ext != '.png': raise Exception('extension "%s" not supported' % ext) seq_to_file = collect_seq_to_file(image_dirs, prefix, ext) if not seq_to_file: raise ValueError( 'no sequences with prefix "%s" and extension "%s" in %s' % ( prefix, ext, ', '.join(image_dirs))) aliases = None if aliases_file: aliases = add_aliases.read_emoji_aliases(aliases_file) aliases = apply_aliases(seq_to_file, aliases) font = ttx.TTFont() font.importXML(in_file) lineheight = font['hhea'].ascent - font['hhea'].descent map_fn = get_png_file_to_advance_mapper(lineheight) seq_to_advance = remap_values(seq_to_file, map_fn) vadvance = font['vhea'].advanceHeightMax if 'vhea' in font else lineheight update_font_data(font, seq_to_advance, vadvance, aliases) font.saveXML(out_file)
def update_ttx(in_file, out_file, image_dirs, prefix, ext, aliases_file): if ext != '.png': raise Exception('extension "%s" not supported' % ext) seq_to_file = collect_seq_to_file(image_dirs, prefix, ext) if not seq_to_file: raise ValueError( 'no sequences with prefix "%s" and extension "%s" in %s' % (prefix, ext, ', '.join(image_dirs))) aliases = None if aliases_file: aliases = add_aliases.read_emoji_aliases(aliases_file) aliases = apply_aliases(seq_to_file, aliases) font = ttx.TTFont() font.importXML(in_file) lineheight = font['hhea'].ascent - font['hhea'].descent map_fn = get_png_file_to_advance_mapper(lineheight) seq_to_advance = remap_values(seq_to_file, map_fn) vadvance = font['vhea'].advanceHeightMax if 'vhea' in font else lineheight update_font_data(font, seq_to_advance, vadvance, aliases) font.saveXML(out_file)
def get_inv_aliases(): """Return a mapping from target to list of sources for all alias targets in either the default alias table or the unknown_flag alias table.""" inv_aliases = collections.defaultdict(list) standard_aliases = add_aliases.read_default_emoji_aliases() for k, v in standard_aliases.iteritems(): inv_aliases[v].append(k) unknown_flag_aliases = add_aliases.read_emoji_aliases( 'unknown_flag_aliases.txt') for k, v in unknown_flag_aliases.iteritems(): inv_aliases[v].append(k) return inv_aliases