コード例 #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
コード例 #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
コード例 #3
0
ファイル: compare_cmap_data.py プロジェクト: behnam/nototools
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
コード例 #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)
コード例 #5
0
ファイル: mti_cmap_data.py プロジェクト: anthrotype/nototools
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
コード例 #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
コード例 #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
コード例 #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
コード例 #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)
コード例 #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)
コード例 #11
0
ファイル: gen_cplist.py プロジェクト: hmr/nototools
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)
コード例 #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
コード例 #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
コード例 #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
コード例 #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