Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b0555572 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Rename the font file with PostScript name based file name" am: 5cc4c3ff

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1606551

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I489457c48373a037712c67363d5a1dd8597c0bf6
parents b79c80ba 5cc4c3ff
Loading
Loading
Loading
Loading
+121 −121

File changed.

Preview size limit exceeded, changes collapsed.

+55 −0
Original line number Original line Diff line number Diff line
@@ -11,6 +11,12 @@ from fontTools import ttLib


EMOJI_VS = 0xFE0F
EMOJI_VS = 0xFE0F


#TODO(179952916): Rename CutiveMono and DancingScript
CANONICAL_NAME_EXCEPTION_LIST = [
    'CutiveMono.ttf',
    'DancingScript-Regular.ttf',
]

LANG_TO_SCRIPT = {
LANG_TO_SCRIPT = {
    'as': 'Beng',
    'as': 'Beng',
    'be': 'Cyrl',
    'be': 'Cyrl',
@@ -658,6 +664,53 @@ def check_cjk_punctuation():
            assert_font_supports_none_of_chars(record.font, cjk_punctuation, name)
            assert_font_supports_none_of_chars(record.font, cjk_punctuation, name)




def getPostScriptName(font):
  ttf = open_font(font)
  nameTable = ttf['name']
  for name in nameTable.names:
    if name.nameID == 6 and name.platformID == 3 and name.platEncID == 1 and name.langID == 0x0409:
      return str(name)


def getSuffix(font):
  file_path, index = font
  with open(path.join(_fonts_dir, file_path), 'rb') as f:
    tag = f.read(4)
    isCollection = tag == b'ttcf'

  ttf = open_font(font)
  isType1 = ('CFF ' in ttf or 'CFF2' in ttf)

  if isType1:
    if isCollection:
      return '.otc'
    else:
      return '.otf'
  else:
    if isCollection:
      return '.ttc'
    else:
      return '.ttf'


def check_canonical_name():
  for record in _all_fonts:
    file_name, index = record.font
    if file_name in CANONICAL_NAME_EXCEPTION_LIST:
      continue

    if index and index != 0:
      continue

    psName = getPostScriptName(record.font)
    assert psName, 'PostScript must be defined'

    suffix = getSuffix(record.font)
    canonicalName = '%s%s' % (psName, suffix)

    assert file_name == canonicalName, (
        '%s is not a canonical name. Must be %s' % (file_name, canonicalName))

def main():
def main():
    global _fonts_dir
    global _fonts_dir
    target_out = sys.argv[1]
    target_out = sys.argv[1]
@@ -675,6 +728,8 @@ def main():


    check_cjk_punctuation()
    check_cjk_punctuation()


    check_canonical_name()

    check_emoji = sys.argv[2]
    check_emoji = sys.argv[2]
    if check_emoji == 'true':
    if check_emoji == 'true':
        ucd_path = sys.argv[3]
        ucd_path = sys.argv[3]