aboutsummaryrefslogtreecommitdiffstats
path: root/Lib/defconQt/fontView.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/defconQt/fontView.py')
-rw-r--r--Lib/defconQt/fontView.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/Lib/defconQt/fontView.py b/Lib/defconQt/fontView.py
index 80aabec..38cc054 100644
--- a/Lib/defconQt/fontView.py
+++ b/Lib/defconQt/fontView.py
@@ -574,6 +574,7 @@ class MainWindow(QMainWindow):
fileMenu.addSeparator()
fileMenu.addAction("&Save", self.saveFile, QKeySequence.Save)
fileMenu.addAction("Save &as…", self.saveFileAs, QKeySequence.SaveAs)
+ fileMenu.addAction("Export…", self.export)
fileMenu.addAction("Reload from disk", self.reload)
fileMenu.addAction("E&xit", self.close, QKeySequence.Quit)
menuBar.addMenu(fileMenu)
@@ -717,6 +718,29 @@ class MainWindow(QMainWindow):
self.setWindowTitle()
#return ok
+ def export(self):
+ try:
+ from ufo2fdk import haveFDK, OTFCompiler
+ except Exception as e:
+ errorMessage = QErrorMessage(self)
+ errorMessage.showMessage(e)
+ return
+ if not haveFDK():
+ errorMessage = QErrorMessage(self)
+ errorMessage.showMessage("The Adobe FDK could not be found.")
+ return
+
+ path, ok = QFileDialog.getSaveFileName(self, "Save File", None,
+ "PS OpenType font (*.otf)")
+ if ok:
+ compiler = OTFCompiler()
+ # XXX: allow choosing parameters
+ reports = compiler.compile(self.font, path, checkOutlines=False,
+ autohint=True, releaseMode=True)
+
+ print(reports["autohint"])
+ print(reports["makeotf"])
+
def setCurrentFile(self, path):
settings = QSettings()
recentFiles = settings.value("core/recentFiles", [], type=str)