Example #1
0
    def validate(self):
        suggestedvalues = getSuggestedFontNameValues(self.font)

        expectedname = '{0}-{1}'.format(family_name.replace(' ', ''),
                                        subfamily_name.replace(' ', ''))
        actualname, extension = os.path.splitext(self.fontpath)

        return '{0}{1}'.format(expectedname, extension)
Example #2
0
    def validate(self):
        suggestedvalues = getSuggestedFontNameValues(self.font)

        expectedname = '{0}-{1}'.format(family_name.replace(' ', ''),
                                        subfamily_name.replace(' ', ''))
        actualname, extension = os.path.splitext(self.fontpath)

        return '{0}{1}'.format(expectedname, extension)
Example #3
0
 def test_suggested_subfamily_name(self):
     """ Family does not contain subfamily in `name` table """
     # Currently we just look that family does not contain any spaces
     # in its name. This prevent us from incorrect suggestions of names
     font = Font.get_ttfont(self.operator.path)
     suggestedvalues = getSuggestedFontNameValues(font.ttfont)
     self.assertEqual(font.familyname, suggestedvalues['family'])
     self.assertEqual(font.stylename, suggestedvalues['subfamily'])
Example #4
0
 def test_suggested_subfamily_name(self):
     """ Family does not contain subfamily in `name` table """
     # Currently we just look that family does not contain any spaces
     # in its name. This prevent us from incorrect suggestions of names
     font = Font.get_ttfont(self.operator.path)
     suggestedvalues = getSuggestedFontNameValues(font.ttfont)
     self.assertEqual(font.familyname, suggestedvalues['family'])
     self.assertEqual(font.stylename, suggestedvalues['subfamily'])
Example #5
0
    def test_source_ttf_font_filename_equals_familystyle(self):
        """ Source TTF Font filename equals family style """
        ttfont = Font.get_ttfont(self.operator.path)

        suggestedvalues = getSuggestedFontNameValues(ttfont.ttfont)

        family_name = suggestedvalues['family']
        subfamily_name = suggestedvalues['subfamily']

        expectedname = '{0}-{1}'.format(family_name.replace(' ', ''),
                                        subfamily_name.replace(' ', ''))
        actualname, extension = os.path.splitext(self.operator.path)

        expected_filename = '{0}{1}'.format(expectedname, extension)
        setattr(self, 'expectedfilename', expected_filename)
        self.assertEqual(os.path.basename(actualname), expectedname)
Example #6
0
def fix(fontpath):
    ttfont = Font.get_ttfont(fontpath)

    values = getSuggestedFontNameValues(ttfont.ttfont)

    family_name = values['family']

    subfamily_name = values['subfamily']

    for pair in [[4, 3, 1], [4, 1, 0]]:
        name = ttfont.ttfont['name'].getName(*pair)
        if name:
            name.string = ' '.join(
                [family_name.replace(' ', ''),
                 subfamily_name]).encode('utf_16_be')

    for pair in [[6, 3, 1], [6, 1, 0]]:
        name = ttfont.ttfont['name'].getName(*pair)
        if name:
            name.string = '-'.join([
                family_name.replace(' ', ''),
                subfamily_name.replace(' ', '')
            ]).encode('utf_16_be')

    for pair in [[1, 3, 1], [1, 1, 0]]:
        name = ttfont.ttfont['name'].getName(*pair)
        if name:
            name.string = family_name.replace(' ', '').encode('utf_16_be')

    for pair in [[2, 3, 1], [2, 1, 0]]:
        name = ttfont.ttfont['name'].getName(*pair)
        if name:
            name.string = subfamily_name.encode('utf_16_be')

    ot_namerecord = findOrCreateNameRecord(ttfont['name'], 16)
    ot_namerecord.string = family_name.replace(' ', '').encode("utf_16_be")

    ot_namerecord = findOrCreateNameRecord(ttfont['name'], 17)
    ot_namerecord.string = mapping.get(subfamily_name,
                                       'Regular').encode("utf_16_be")

    ot_namerecord = findOrCreateNameRecord(ttfont['name'], 18)
    ot_namerecord.string = ' '.join(
        [family_name.replace(' ', ''),
         mapping.get(subfamily_name, 'Regular')]).encode("utf_16_be")

    ttfont.save(fontpath + '.fix')
Example #7
0
def fix(fontpath):
    ttfont = Font.get_ttfont(fontpath)

    values = getSuggestedFontNameValues(ttfont.ttfont)

    family_name = values['family']

    subfamily_name = values['subfamily']

    for pair in [[4, 3, 1], [4, 1, 0]]:
        name = ttfont.ttfont['name'].getName(*pair)
        if name:
            name.string = ' '.join([family_name.replace(' ', ''), subfamily_name]).encode('utf_16_be')

    for pair in [[6, 3, 1], [6, 1, 0]]:
        name = ttfont.ttfont['name'].getName(*pair)
        if name:
            name.string = '-'.join([family_name.replace(' ', ''), subfamily_name.replace(' ', '')]).encode('utf_16_be')

    for pair in [[1, 3, 1], [1, 1, 0]]:
        name = ttfont.ttfont['name'].getName(*pair)
        if name:
            name.string = family_name.replace(' ', '').encode('utf_16_be')

    for pair in [[2, 3, 1], [2, 1, 0]]:
        name = ttfont.ttfont['name'].getName(*pair)
        if name:
            name.string = subfamily_name.encode('utf_16_be')

    ot_namerecord = findOrCreateNameRecord(ttfont['name'], 16)
    ot_namerecord.string = family_name.replace(' ', '').encode("utf_16_be")

    ot_namerecord = findOrCreateNameRecord(ttfont['name'], 17)
    ot_namerecord.string = mapping.get(subfamily_name, 'Regular').encode("utf_16_be")

    ot_namerecord = findOrCreateNameRecord(ttfont['name'], 18)
    ot_namerecord.string = ' '.join([family_name.replace(' ', ''), mapping.get(subfamily_name, 'Regular')]).encode("utf_16_be")

    ttfont.save(fontpath + '.fix')