Ejemplo n.º 1
0
def compare_cmap_data_files(
    base_file, target_file, scripts, except_scripts, opts=None):
  base_cmap_data = cmap_data.read_cmap_data_file(base_file)
  target_cmap_data = cmap_data.read_cmap_data_file(target_file)
  compare = compare_cmap_data(
      base_cmap_data, target_cmap_data, scripts, except_scripts, opts)
  return compare, base_cmap_data, target_cmap_data
Ejemplo n.º 2
0
def compare_cmap_data_files(base_file, target_file, scripts, ranges,
                            except_scripts, except_ranges, no_additions,
                            no_removals):
    base_cmap_data = cmap_data.read_cmap_data_file(base_file)
    target_cmap_data = cmap_data.read_cmap_data_file(target_file)
    compare = compare_cmap_data(base_cmap_data, target_cmap_data, scripts,
                                ranges, except_scripts, except_ranges,
                                no_additions, no_removals)
    return compare, base_cmap_data, target_cmap_data
Ejemplo n.º 3
0
def compare_cmap_data_files(base_file, target_file, scripts, ranges,
                            except_scripts, except_ranges,
                            no_additions, no_removals):
  base_cmap_data = cmap_data.read_cmap_data_file(base_file)
  target_cmap_data = cmap_data.read_cmap_data_file(target_file)
  compare = compare_cmap_data(
      base_cmap_data, target_cmap_data, scripts, ranges,
      except_scripts, except_ranges, no_additions, no_removals)
  return compare, base_cmap_data, target_cmap_data
Ejemplo n.º 4
0
def main():
  default_cmap = '[tools]/nototools/data/noto_cmap_phase3.xml'
  default_namepats = ['cps_%s.txt']

  epilog = """If a namepat contains the string "%s" then the script id will
  be substituted for it. If one namepat is provided it is used for all scripts,
  otherwise there should be as many namepats as there are scripts."""

  parser = argparse.ArgumentParser(epilog=epilog)
  parser.add_argument(
      '-c', '--cmap_file', help='cmap data file to use (default %s)' %
      default_cmap, default=default_cmap, metavar='file')
  parser.add_argument(
      '-d', '--dest_dir', help='directory for output, (defaults to current '
      'directory)', metavar='dir', default='.')
  parser.add_argument(
      '-s', '--scripts', help='script ids of data to output', nargs='+',
      metavar='id', required=True)
  parser.add_argument(
      '-n', '--namepats', help='name patterns used to generate output '
      'filenames (default "cps_%%s.txt")',
      default=default_namepats, metavar='npat', nargs='+')
  args = parser.parse_args()

  cmap_filepath = tool_utils.resolve_path(args.cmap_file)
  cmapdata = cmap_data.read_cmap_data_file(cmap_filepath)
  generate(cmapdata, args.dest_dir, args.scripts, args.namepats)
Ejemplo n.º 5
0
def xml_to_csv(xml_file, csv_file, scripts, exclude_scripts):
  data = cmap_data.read_cmap_data_file(xml_file)
  csv_data = csv_from_cmap_data(data, scripts, exclude_scripts)
  if csv_file:
    with open(csv_file, 'w') as f:
      f.write(csv_data)
  else:
    print csv_data
Ejemplo n.º 6
0
def xml_to_csv(xml_file, csv_file, scripts, exclude_scripts):
    data = cmap_data.read_cmap_data_file(xml_file)
    csv_data = csv_from_cmap_data(data, scripts, exclude_scripts)
    if csv_file:
        with open(csv_file, 'w') as f:
            f.write(csv_data)
    else:
        print csv_data
Ejemplo n.º 7
0
def _covered_cps(cmap_file):
    all_cps = set()
    tree = cmap_data.read_cmap_data_file(cmap_file)
    for rowdata in tree.table.rows:
        if rowdata.script == 'EXCL':
            continue
        cps = tool_utils.parse_int_ranges(rowdata.ranges)
        all_cps |= cps
    return all_cps
Ejemplo n.º 8
0
def _covered_cps(cmap_file):
  all_cps = set()
  tree = cmap_data.read_cmap_data_file(cmap_file)
  for rowdata in tree.table.rows:
    if rowdata.script == 'EXCL':
      continue
    cps = tool_utils.parse_int_ranges(rowdata.ranges)
    all_cps |= cps
  return all_cps
Ejemplo n.º 9
0
def block_coverage(
    cmap_file, start=0, limit=0x20000, only_scripts=None, details=0,
    summary=False):
  data = cmap_data.read_cmap_data_file(cmap_file)
  cp_to_scripts, all_scripts = _create_cp_to_scripts(data, only_scripts)
  defined_cps = unicode_data.defined_characters(version=9.0)

  if summary:
    _summarize_blocks(
        start, limit, defined_cps, cp_to_scripts, all_scripts)
  else:
    _list_blocks(
        start, limit, defined_cps, cp_to_scripts, all_scripts, only_scripts,
        details)
Ejemplo n.º 10
0
def block_coverage(
    cmap_file, start=0, limit=0x20000, only_scripts=None, details=0,
    summary=False):
  data = cmap_data.read_cmap_data_file(cmap_file)
  cp_to_scripts, all_scripts = _create_cp_to_scripts(data, only_scripts)
  defined_cps = unicode_data.defined_characters(version=9.0)

  if summary:
    _summarize_blocks(
        start, limit, defined_cps, cp_to_scripts, all_scripts)
  else:
    _list_blocks(
        start, limit, defined_cps, cp_to_scripts, all_scripts, only_scripts,
        details)
Ejemplo n.º 11
0
def main():
    default_cmap = "[tools]/nototools/data/noto_cmap_phase3.xml"
    default_namepats = ["cps_%s.txt"]

    epilog = """If a namepat contains the string "%s" then the script id will
  be substituted for it. If one namepat is provided it is used for all scripts,
  otherwise there should be as many namepats as there are scripts."""

    parser = argparse.ArgumentParser(epilog=epilog)
    parser.add_argument(
        "-c",
        "--cmap_file",
        help="cmap data file to use (default %s)" % default_cmap,
        default=default_cmap,
        metavar="file",
    )
    parser.add_argument(
        "-d",
        "--dest_dir",
        help="directory for output, (defaults to current " "directory)",
        metavar="dir",
        default=".",
    )
    parser.add_argument(
        "-s",
        "--scripts",
        help="script ids of data to output",
        nargs="+",
        metavar="id",
        required=True,
    )
    parser.add_argument(
        "-n",
        "--namepats",
        help="name patterns used to generate output "
        'filenames (default "cps_%%s.txt")',
        default=default_namepats,
        metavar="npat",
        nargs="+",
    )
    args = parser.parse_args()

    cmap_filepath = tool_utils.resolve_path(args.cmap_file)
    cmapdata = cmap_data.read_cmap_data_file(cmap_filepath)
    generate(cmapdata, args.dest_dir, args.scripts, args.namepats)
Ejemplo n.º 12
0
def compare_interscript_data_file(base_file, scripts, opts=None):
    base_cmap_data = cmap_data.read_cmap_data_file(base_file)
    compare = compare_interscript_data(base_cmap_data, scripts, opts)
    return compare, base_cmap_data
Ejemplo n.º 13
0
def get_cps_from_cmap_data_file(data_file):
  cps = set()
  data = cmap_data.read_cmap_data_file(data_file)
  for row in data.table.rows:
    cps |= tool_utils.parse_int_ranges(row.ranges)
  return cps
Ejemplo n.º 14
0
def compare_interscript_data_file(base_file, scripts, opts=None):
  base_cmap_data = cmap_data.read_cmap_data_file(base_file)
  compare = compare_interscript_data(base_cmap_data, scripts, opts)
  return compare, base_cmap_data
Ejemplo n.º 15
0
def get_cps_from_cmap_data_file(data_file):
  cps = set()
  data = cmap_data.read_cmap_data_file(data_file)
  for row in data.table.rows:
    cps |= tool_utils.parse_int_ranges(row.ranges)
  return cps