def apply_callback(self, sender): boolstring = [ False, True ] f = CurrentFont() if f is not None: if len(f.selection) > 0: # print info print 'changing glyph name suffixes...\n' print '\told suffix: %s' % self._old_suffix print '\tnew suffix: %s' % self._new_suffix print '\toverwrite: %s' % boolstring[self._overwrite] print # batch change glyph names for glyph_name in get_glyphs(f): g = f[glyph_name] # get glyphs with matching suffix if has_suffix(g, self._old_suffix): # make new name if len(self._new_suffix) > 0: _new_name = change_suffix(g, self._old_suffix, self._new_suffix) else: _new_name = change_suffix(g, self._old_suffix, None) # if new name not in font, rename if not f.has_key(_new_name): print '\trenaming %s to %s...' % (glyph_name, _new_name) g.name = _new_name # new name in font else: # overwrite existing if self._overwrite: print "\toverwriting '%s' with '%s'" % (_new_name, glyph_name) f.removeGlyph(_new_name) f.update() g.name = _new_name g.update() # do not overwrite else: print "\t'%s' already exists in font, skipping '%s'" % (_new_name, glyph_name) # glyph name does not have suffix else: pass # done glyph # done font f.update() print print '...done.\n' # no glyph selected else: print 'please select one or more glyphs before running the script.\n' # no glyph selected else: print 'please open a font first.\n' pass
def apply_callback(self, sender): # get font f = CurrentFont() if f is not None: glyph_names = get_glyphs(f) if len(glyph_names) > 0: boolstring = [ False, True ] # get parameters self.old_suffix = self.w.old_suffix_value.get() self.new_suffix = self.w.new_suffix_value.get() self.overwrite = self.w.overwrite_checkbox.get() # print info print 'changing glyph name suffixes...\n' print '\told suffix: %s' % (self.old_suffix) print '\tnew suffix: %s' % (self.new_suffix) print '\toverwrite: %s' % boolstring[self.overwrite] print # batch change glyph names for glyph_name in glyph_names: g = f[glyph_name] # get glyphs with matching suffix if has_suffix(g, self.old_suffix): # switch suffixes : one.osf -> one.onum if len(self.old_suffix) > 0 and len(self.new_suffix) > 0: new_name = change_suffix(g, self.old_suffix, self.new_suffix) # remove suffix : one.osf -> one elif len(self.old_suffix) > 0 and len(self.new_suffix) == 0: new_name = change_suffix(g, self.old_suffix, None) # add suffix : one -> one.onum elif len(self.old_suffix) == 0 and len(self.new_suffix) > 0: new_name = '%s.%s' % (glyph_name, self.new_suffix) else: new_name = glyph_name # new name not in font (rename) if new_name != glyph_name: if not f.has_key(new_name): print '\trenaming %s to %s...' % (glyph_name, new_name) g.name = new_name # new name in font else: # overwrite if self._overwrite: print "\toverwriting '%s' with '%s'" % (new_name, glyph_name) f.removeGlyph(_new_name) f.update() g.name = new_name g.update() # do not overwrite else: print "\t'%s' already exists in font, skipping '%s'" % (new_name, glyph_name) # glyph does not have suffix else: pass # done glyph # done font f.update() print print '...done.\n' # no glyph selected else: print no_glyph_selected # no font open else: print no_font_open pass
# [h] remove selected glyphs try: from mojo.roboFont import CurrentFont except ImportError: from fontParts.world import CurrentFont from hTools2.modules.fontutils import get_glyphs from hTools2.modules.messages import no_glyph_selected, no_font_open f = CurrentFont() if f is not None: glyph_names = get_glyphs(f) if len(glyph_names) > 0: for glyph_name in glyph_names: f.removeGlyph(glyph_name) if glyph_name in f.glyphOrder: f.glyphOrder.remove(glyph_name) f.update() else: print(no_glyph_selected) else: print(no_font_open)
def apply_callback(self, sender): # get font f = CurrentFont() if f is not None: glyph_names = get_glyphs(f) if len(glyph_names) > 0: boolstring = [False, True] # get parameters self.old_suffix = self.w.old_suffix_value.get() self.new_suffix = self.w.new_suffix_value.get() self.overwrite = self.w.overwrite_checkbox.get() # print info print('changing glyph name suffixes...\n') print('\told suffix: %s' % (self.old_suffix)) print('\tnew suffix: %s' % (self.new_suffix)) print('\toverwrite: %s' % boolstring[self.overwrite]) print() # batch change glyph names for glyph_name in glyph_names: g = f[glyph_name] # get glyphs with matching suffix if has_suffix(g, self.old_suffix): # switch suffixes : one.osf -> one.onum if len(self.old_suffix) > 0 and len( self.new_suffix) > 0: new_name = change_suffix(g, self.old_suffix, self.new_suffix) # remove suffix : one.osf -> one elif len(self.old_suffix) > 0 and len( self.new_suffix) == 0: new_name = change_suffix(g, self.old_suffix, None) # add suffix : one -> one.onum elif len(self.old_suffix) == 0 and len( self.new_suffix) > 0: new_name = '%s.%s' % (glyph_name, self.new_suffix) else: new_name = glyph_name # new name not in font (rename) if new_name != glyph_name: if new_name not in f: print('\trenaming %s to %s...' % (glyph_name, new_name)) g.name = new_name # new name in font else: # overwrite if self._overwrite: print("\toverwriting '%s' with '%s'" % (new_name, glyph_name)) f.removeGlyph(_new_name) f.update() g.name = new_name g.update() # do not overwrite else: print( "\t'%s' already exists in font, skipping '%s'" % (new_name, glyph_name)) # glyph does not have suffix else: pass # done glyph # done font f.update() print() print('...done.\n') # no glyph selected else: print(no_glyph_selected) # no font open else: print(no_font_open) pass
# [h] remove selected glyphs try: from mojo.roboFont import CurrentFont except ImportError: from robofab.world import CurrentFont from hTools2.modules.fontutils import get_glyphs from hTools2.modules.messages import no_glyph_selected, no_font_open f = CurrentFont() if f is not None: glyph_names = get_glyphs(f) if len(glyph_names) > 0: for glyph_name in glyph_names: f.removeGlyph(glyph_name) if glyph_name in f.glyphOrder: f.glyphOrder.remove(glyph_name) f.update() else: print no_glyph_selected else: print no_font_open