예제 #1
0
    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)
예제 #2
0
    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