# HG changeset patch # User wenzelm # Date 1543007114 -3600 # Node ID aa94b3b5aa0b0ff423ad2a2d5e8f857337171a49 # Parent 14444ea196a036c79fa7d106ec011b4c439d0c93 added Isabelle tool wrapper; diff -r 14444ea196a0 -r aa94b3b5aa0b src/Pure/System/isabelle_tool.scala --- a/src/Pure/System/isabelle_tool.scala Fri Nov 23 21:50:50 2018 +0100 +++ b/src/Pure/System/isabelle_tool.scala Fri Nov 23 22:05:14 2018 +0100 @@ -171,5 +171,6 @@ Build_PolyML.isabelle_tool2, Build_Status.isabelle_tool, Check_Sources.isabelle_tool, + Isabelle_Fonts.isabelle_tool, Remote_DMG.isabelle_tool, isabelle.vscode.Build_VSCode.isabelle_tool) diff -r 14444ea196a0 -r aa94b3b5aa0b src/Pure/Tools/isabelle_fonts.scala --- a/src/Pure/Tools/isabelle_fonts.scala Fri Nov 23 21:50:50 2018 +0100 +++ b/src/Pure/Tools/isabelle_fonts.scala Fri Nov 23 22:05:14 2018 +0100 @@ -233,4 +233,33 @@ ).check } } + + + /* Isabelle tool wrapper */ + + val isabelle_tool = + Isabelle_Tool("build_fonts", "construct Isabelle fonts", args => + { + var source_dirs: List[Path] = Nil + var target_dir = Path.current + + val getopts = Getopts(""" +Usage: isabelle build_fonts [OPTIONS] + + Options are: + -D DIR target directory (default ".") + -d DIR additional source directory + + Construct Isabelle fonts from Deja Vu font families and Isabelle symbols. +""", + "D:" -> (arg => target_dir = Path.explode(arg)), + "d:" -> (arg => source_dirs = source_dirs ::: List(Path.explode(arg)))) + + val more_args = getopts(args) + if (more_args.nonEmpty) getopts.usage() + + val progress = new Console_Progress + + build_fonts(source_dirs = source_dirs, target_dir = target_dir, progress = progress) + }) }