def from_font(self): temp_dict = {} msg = QtGui.QMessageBox( QtGui.QMessageBox.Warning, 'TypeRig: Warning', 'Due to fatal class kerning bug in FontLab VI (build 6927) the classes cannot be loaded reliably from font.\n\nPress OK to continue loading class information from font without predefined mode (1st, 2nd and etc.)', QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel, self) if msg.exec_() == 1024: for layer in self.active_font.masters(): fl_kern_group_dict = self.active_font.fl_kerning_groups_to_dict( layer) temp_dict[layer] = { key: (value, 'UNKNOWN') for key, value in fl_kern_group_dict.iteritems() } self.update_data(temp_dict)
def update_data(self, source, updateTable=True, setNotes=False, layerUpdate=False): layer = self.cmb_layer.currentText if not layerUpdate: self.kern_group_data = source else: self.kern_group_data[layer] = source if updateTable: if self.kern_group_data.has_key(layer): self.tab_groupKern.clear() while self.tab_groupKern.rowCount > 0: self.tab_groupKern.removeRow(0) self.tab_groupKern.setTable(self.kern_group_data[layer], setNotes) print 'DONE:\t Updating classes table for master: %s' % layer else: print 'ERROR:\t Updating classes table for master: %s' % layer msg = QtGui.QMessageBox( QtGui.QMessageBox.Warning, 'TypeRig: Warning', 'There is no kerning class information for current selected layer: %s.\n\n Do you want to add a new empty table into database for layer: %s?' % (layer, layer), QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel, self) if msg.exec_() == 1024: self.kern_group_data[layer] = { 'Class_1': [[''], 'KernLeft'] } # ! DO: Better self.tab_groupKern.clear() while self.tab_groupKern.rowCount > 0: self.tab_groupKern.removeRow(0) self.tab_groupKern.setTable(self.kern_group_data[layer], setNotes) print 'DONE:\t Updating classes table for master: %s' % layer