The Birdfont Source Code
Default color theme
These changes was commited to the Birdfont repository Sun, 15 Mar 2015 08:07:09 +0000.
Contributing
Send patches or pull requests to johan.mattsson.m@gmail.com.
Clone this repository: git clone https://github.com/johanmattssonm/birdfont.git
Default color theme
12 files changed:
--- a/install.py
+++ b/install.py
@@ -87,6 +87,7 @@
for file in os.listdir('./icons'):
install ('icons/' + file, '/share/birdfont/icons', 644)
+ install ('resources/default.theme', '/share/birdfont', 644)
install ('resources/key_bindings.xml', '/share/birdfont', 644)
install ('resources/roboto.bf', '/share/birdfont', 644)
--- a/libbirdfont/BackgroundSelectionTool.vala
+++ b/libbirdfont/BackgroundSelectionTool.vala
@@ -20,7 +20,7 @@
public class BackgroundSelectionTool : CutBackgroundTool {
public BackgroundSelectionTool () {
- base ("select_background", t_("Select Background"));
+ base ("select_background", t_("Select background"));
editor_events = true;
persistent = true;
self_destination = false;
--- a/libbirdfont/BirdFont.vala
+++ b/libbirdfont/BirdFont.vala
@@ -387,6 +387,7 @@
int i;
File font_file;
string exec_path;
+ string theme;
args = new Argument.command_line (arg);
@@ -429,7 +430,11 @@
Preferences.load ();
Theme.set_default_colors ();
- Theme.load_theme ();
+
+ theme = Preferences.get ("theme");
+ if (theme != "") {
+ Theme.load_theme (theme);
+ }
current_font = new Font ();
current_font.set_name ("");
--- a/libbirdfont/HiddenTools.vala
+++ b/libbirdfont/HiddenTools.vala
@@ -25,7 +25,7 @@
Expander hidden_expander = new Expander ();
expanders = new Gee.ArrayList<Expander> ();
- Tool zoom_in = new Tool ("zoom_in", t_("Zoom In"));
+ Tool zoom_in = new Tool ("zoom_in", t_("Zoom in"));
zoom_in.select_action.connect ((self) => {
DrawingTools.zoom_tool.store_current_view ();
GlyphCanvas.current_display.zoom_in ();
--- a/libbirdfont/SettingsDisplay.vala
+++ b/libbirdfont/SettingsDisplay.vala
@@ -33,7 +33,12 @@
allocation = new WidgetAllocation ();
tools = new Gee.ArrayList<SettingsItem> ();
content_height = 200;
-
+ precision = new SpinButton ("precision");
+ create_setting_items ();
+ }
+
+ public void create_setting_items () {
+ tools.clear ();
// setting items
tools.add (new SettingsItem.head_line (t_("Settings")));
@@ -60,8 +65,7 @@
// adjust precision
string precision_value = Preferences.get ("precision");
- precision = new SpinButton ("precision");
-
+
if (precision_value != "") {
precision.set_value (precision_value);
} else {
@@ -152,11 +156,84 @@
foreach (MenuItem menu_item in MainWindow.get_menu ().sorted_menu_items) {
tools.add (new SettingsItem.key_binding (menu_item));
}
+
+ tools.add (new SettingsItem.head_line (t_("Themes")));
+
+ Gee.ArrayList<Tool> theme_buttons = new Gee.ArrayList<Tool> ();
+
+ foreach (string theme in Theme.themes) {
+ string label;
+ Tool select_theme = new Tool (theme);
+
+ select_theme.deselect_action.connect((self) => {
+ self.set_selected (true);
+ });
+
+ select_theme.select_action.connect((self) => {
+ string theme_file = self.get_name ();
+ TabBar tb;
+
+ Preferences.set ("theme", theme_file);
+ Theme.load_theme (theme_file);
+
+ self.set_selected (false);
+ create_setting_items ();
+
+ Toolbox.redraw_tool_box ();
+ GlyphCanvas.redraw ();
+
+ tb = MainWindow.get_tab_bar ();
+ tb.redraw (0, 0, tb.width, tb.height);
+ });
+
+ select_theme.set_icon ("theme");
+
+ if (theme == "default.theme") {
+ label = t_("Default theme");
+ } else if (theme == "high_contrast.theme") {
+ label = t_("High contrast theme");
+ } else if (theme == "custom.theme") {
+ label = t_("Custom theme");
+ } else {
+ label = theme.replace (".theme", "");
+ }
+
+ tools.add (new SettingsItem (select_theme, label));
+ theme_buttons.add (select_theme);
+
+ if (select_theme.get_name () == Theme.current_theme) {
+ select_theme.set_selected (true);
+ }
+ }
+
+ foreach (Tool t in theme_buttons) {
+ t.set_selected (false);
+ }
+
+ Tool add_theme = new Tool ("add_new_theme");
+ add_theme.select_action.connect((self) => {
+ foreach (Tool t in theme_buttons) {
+ t.set_selected (false);
+ }
+
+ self.set_selected (false);
+ Theme.add_new_theme (this);
+ GlyphCanvas.redraw ();
+ });
+ tools.add (new SettingsItem (add_theme, t_("Add new theme")));
tools.add (new SettingsItem.head_line (t_("Colors")));
foreach (string color in Theme.color_list) {
- tools.add (new SettingsItem.color (color));
+ SettingsItem s = new SettingsItem.color (color);
+ ColorTool c = (ColorTool) ((!) s.button);
+
+ tools.add (s);
+
+ c.color_updated.connect (() => {
+ create_setting_items ();
+ GlyphCanvas.redraw ();
+ });
}
}
--- a/libbirdfont/TabContent.vala
+++ b/libbirdfont/TabContent.vala
@@ -131,6 +131,8 @@
}
public static void motion_notify (double x, double y) {
+ Toolbox toolbox;
+
if (MenuTab.suppress_event) {
return;
}
@@ -141,6 +143,9 @@
text_input.motion (x, y);
GlyphCanvas.redraw ();
}
+
+ toolbox = MainWindow.get_toolbox ();
+ toolbox.hide_tooltip ();
}
public static void button_release (int button, double x, double y) {
@@ -152,12 +157,7 @@
MainWindow.get_menu ().button_release (button, x, y);
} else {
if (text_input_visible) {
- text_input.button_release (button, x, y);
-
- if (y > TEXT_INPUT_HEIGHT) {
- hide_text_input ();
- }
-
+ text_input.button_release (button, x, y);
GlyphCanvas.redraw ();
} else {
GlyphCanvas.current_display.button_release (button, x, y);
@@ -176,6 +176,10 @@
if (text_input_visible) {
text_input.button_press (button, x, y);
text_input_button.button_press (button, x, y);
+
+ if (y > TEXT_INPUT_HEIGHT) {
+ hide_text_input ();
+ }
} else {
GlyphCanvas.current_display.button_press (button, x, y);
}
--- a/libbirdfont/Table.vala
+++ b/libbirdfont/Table.vala
@@ -103,6 +103,10 @@
int colum = -1;
Row? selected = null;
bool over_delete = false;
+
+ if (button != 1) {
+ return;
+ }
foreach (Row r in get_rows ()) {
if (s++ >= scroll) {
--- a/libbirdfont/Theme.vala
+++ b/libbirdfont/Theme.vala
@@ -21,6 +21,8 @@
static Gee.HashMap<string, Color> colors;
public static Gee.ArrayList<string> color_list;
+ public static Gee.ArrayList<string> themes;
+ public static string current_theme;
public static void text_color (Text text, string name) {
Color c;
@@ -69,6 +71,7 @@
c = colors.get (name);
text.set_source_rgba (c.r, c.g, c.b, opacity);
}
+
public static Color get_color (string name) {
Color c;
@@ -81,8 +84,11 @@
}
public static void set_default_colors () {
+ current_theme = "";
+
color_list = new Gee.ArrayList<string> ();
colors = new Gee.HashMap<string, Color> ();
+ themes = new Gee.ArrayList<string> ();
Theme.set_default_color ("Stroke Color", 0, 0, 0, 1);
Theme.set_default_color ("Handle Color", 0, 0, 0, 1);
@@ -168,6 +174,34 @@
N_("Tool Background 4");
N_("Button Foreground");
+
+ add_theme_files ();
+ }
+
+ static void add_theme_files () {
+ FileEnumerator enumerator;
+ FileInfo? file_info;
+ string file_name;
+ File dir;
+
+ dir = BirdFont.get_settings_directory ();
+
+ themes.clear ();
+ themes.add ("default.theme");
+ themes.add ("high_contrast.theme");
+
+ try {
+ enumerator = dir.enumerate_children (FileAttribute.STANDARD_NAME, 0);
+ while ((file_info = enumerator.next_file ()) != null) {
+ file_name = ((!) file_info).get_name ();
+
+ if (file_name.has_suffix (".theme")) {
+ themes.add (file_name);
+ }
+ }
+ } catch (Error e) {
+ warning (e.message);
+ }
}
public static void set_default_color (string name, double r, double g, double b, double a) {
@@ -181,24 +215,52 @@
write_theme ();
}
- public static void load_theme () {
- File default_theme = SearchPaths.find_file (null, "theme.xml");
- File user_theme = get_child (BirdFont.get_settings_directory (), "theme.xml");
-
- if (default_theme.query_exists ()) {
- parse_theme (default_theme);
- }
+ public static void load_theme (string theme_file) {
+ File default_theme;
+ File user_theme;
+ user_theme = get_child (BirdFont.get_settings_directory (), theme_file);
if (user_theme.query_exists ()) {
+ current_theme = theme_file;
parse_theme (user_theme);
+ return;
}
+
+ default_theme = SearchPaths.find_file (null, theme_file);
+ if (default_theme.query_exists ()) {
+ current_theme = theme_file;
+ parse_theme (default_theme);
+ return;
+ }
+
+ warning (@"Theme not found: $theme_file");
}
public static void write_theme () {
DataOutputStream os;
File file;
+ int i;
+ string base_name;
+
+ if (current_theme == "") {
+ warning ("No name for theme.");
+ return;
+ }
+
+ if (current_theme == "default.theme" || current_theme == "high_contrast.theme") {
+ current_theme = "custom.theme";
+
+ file = get_child (BirdFont.get_settings_directory (), current_theme);
+ i = 2;
+ base_name = "custom";
+ while (file.query_exists ()) {
+ current_theme = @"$(base_name)_theme_$(i).theme";
+ file = get_child (BirdFont.get_settings_directory (), current_theme);
+ i++;
+ }
+ }
- file = get_child (BirdFont.get_settings_directory (), "theme.xml");
+ file = get_child (BirdFont.get_settings_directory (), current_theme);
try {
if (file.query_exists ()) {
@@ -233,6 +295,8 @@
} catch (GLib.Error e) {
warning (e.message);
}
+
+ add_theme_files ();
}
static void parse_theme (File f) {
@@ -286,8 +350,29 @@
}
colors.set (name, new Color (r, g, b, a));
+ }
+
+ public static void add_new_theme (SettingsDisplay d) {
+ TextListener listener;
+
+ listener = new TextListener (t_("New theme"), "", t_("Set"));
+
+ listener.signal_text_input.connect ((text) => {
+ if (text != "") {
+ current_theme = text + ".theme";
+ themes.add (current_theme);
+ }
+ });
+
+ listener.signal_submit.connect (() => {
+ TabContent.hide_text_input ();
+ write_theme ();
+ d.create_setting_items ();
+ });
+
+ TabContent.show_text_input (listener);
}
}
}
--- a/libbirdfont/Toolbox.vala
+++ b/libbirdfont/Toolbox.vala
@@ -496,8 +496,10 @@
}
public void hide_tooltip () {
- tool_tip = null;
- redraw_tool_box ();
+ if (tool_tip != null) {
+ tool_tip = null;
+ redraw_tool_box ();
+ }
}
public void show_tooltip (string tool_tip, double x, double y) {
--- /dev/null
+++ b/resources/default.theme
@@ -1,1 +1,37 @@
+ <?xml version="1.0" encoding="utf-8" standalone="yes"?>
+ <theme>
+ <color name="Highlighted 1" red="0.91764705882352937" green="0.30196078431372547" blue="0.10196078431372549" alpha="1"/>
+ <color name="Tool Background 2" red="0.10196078431372549" green="0.11764705882352941" blue="0.12549019607843137" alpha="1"/>
+ <color name="Guide 1" red="0.69999999999999996" green="0.69999999999999996" blue="0.80000000000000004" alpha="1"/>
+ <color name="Tool Background 3" red="0.17254901960784313" green="0.18431372549019609" blue="0.20000000000000001" alpha="1"/>
+ <color name="Background 1" red="1" green="1" blue="1" alpha="1"/>
+ <color name="Guide 2" red="0.69999999999999996" green="0" blue="0" alpha="0.5"/>
+ <color name="Tool Border 1" red="0.14901960784313725" green="0.15294117647058825" blue="0.16862745098039217" alpha="1"/>
+ <color name="Tool Background 4" red="0.12941176470588237" green="0.14117647058823529" blue="0.15294117647058825" alpha="1"/>
+ <color name="Background 2" red="0.396078431372549" green="0.42352941176470588" blue="0.45490196078431372" alpha="1"/>
+ <color name="Guide 3" red="0.47058823529411764" green="0.26666666666666666" blue="0.47058823529411764" alpha="0.47058823529411764"/>
+ <color name="Background 3" red="0.14901960784313725" green="0.15294117647058825" blue="0.16862745098039217" alpha="1"/>
+ <color name="Tool Border 2" red="0.14901960784313725" green="0.15294117647058825" blue="0.16862745098039217" alpha="1"/>
+ <color name="Background 4" red="0.20000000000000001" green="0.21176470588235294" blue="0.23137254901960785" alpha="1"/>
+ <color name="Tool Border 3" red="0.14901960784313725" green="0.15294117647058825" blue="0.16862745098039217" alpha="1"/>
+ <color name="Background 5" red="0.29999999999999999" green="0.29999999999999999" blue="0.29999999999999999" alpha="1"/>
+ <color name="Tool Border 4" red="0.14901960784313725" green="0.15294117647058825" blue="0.16862745098039217" alpha="1"/>
+ <color name="Background 6" red="0.8784313725490196" green="0.8784313725490196" blue="0.8784313725490196" alpha="1"/>
+ <color name="Background 7" red="0.2196078431372549" green="0.23137254901960785" blue="0.25490196078431371" alpha="1"/>
+ <color name="Background 8" red="0.21568627450980393" green="0.21568627450980393" blue="0.21568627450980393" alpha="1"/>
+ <color name="Fill Color" red="0.5" green="0.5" blue="0.5" alpha="1"/>
+ <color name="Background 9" red="0.28235294117647058" green="0.28235294117647058" blue="0.28235294117647058" alpha="1"/>
+ <color name="Stroke Color" red="0" green="0" blue="0" alpha="1"/>
+ <color name="Button Foreground" red="0.396078431372549" green="0.42352941176470588" blue="0.45490196078431372" alpha="1"/>
+ <color name="Grid" red="0.20000000000000001" green="0.59999999999999998" blue="0.20000000000000001" alpha="0.20000000000000001"/>
+ <color name="Background Glyph" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="0.5"/>
+ <color name="Handle Color" red="0" green="0" blue="0" alpha="1"/>
+ <color name="Highlighted Guide" red="0" green="0" blue="0.29999999999999999" alpha="1"/>
+ <color name="Foreground 1" red="0" green="0" blue="0" alpha="1"/>
+ <color name="Foreground 2" red="0.396078431372549" green="0.42352941176470588" blue="0.45490196078431372" alpha="1"/>
+ <color name="Foreground 3" red="0.10196078431372549" green="0.11764705882352941" blue="0.12549019607843137" alpha="1"/>
+ <color name="Foreground 4" red="0.15686274509803921" green="0.22352941176470589" blue="0.25490196078431371" alpha="1"/>
+ <color name="Foreground 5" red="0.27450980392156865" green="0.30196078431372547" blue="0.32549019607843138" alpha="1"/>
+ <color name="Tool Background 1" red="0.054901960784313725" green="0.062745098039215685" blue="0.066666666666666666" alpha="1"/>
+ </theme>
--- a/resources/icons.bf
+++ b/resources/icons.bf
@@ -89,6 +89,13 @@
<collection unicode="U+61">
<selected id="1"/>
<glyph id="1" left="-28" right="28">
+ </glyph>
+ </collection>
+ <collection name="add_new_theme">
+ <selected id="1"/>
+ <glyph id="1" left="-24" right="28">
+ <path stroke="0" skew="0" data="S -16.0000000000,30.5449735450 L 20.0000000000,30.5449735450 L 20.0000000000,26.5449735450 L -16.0000000000,26.5449735450 L -16.0000000000,30.5449735450" />
+ <path stroke="0" skew="0" data="S 0.0000000000,46.5449735450 L 4.0000000000,46.5449735450 L 4.0000000000,10.5449735450 L 0.0000000000,10.5449735450 L 0.0000000000,46.5449735450" />
</glyph>
</collection>
<collection name="auto_trace_resolution">
@@ -734,6 +741,20 @@
<collection unicode="U+74">
<selected id="1"/>
<glyph id="1" left="-28" right="28">
+ </glyph>
+ </collection>
+ <collection name="theme">
+ <selected id="1"/>
+ <glyph id="1" left="-28" right="30.785031847133773">
+ <path stroke="0" skew="0" data="B 16.2145690471,36.8515189036 C 16.2145690471,28.8000115739 9.6381521067,22.2236050256 1.5866499731,22.2236050256 C -6.4648474842,22.2236050256 -12.9825196752,28.8000115739 -12.9825196752,36.8515189036 C -12.9825196752,44.9030262333 -6.4648474842,51.4206656893 1.5866499731,51.4206656893 C 9.6381521067,51.4206656893 16.2145690471,44.9030262333 16.2145690471,36.8515189036" />
+ <path stroke="0" skew="0" data="B -9.4529453725,36.9652691090 C -9.4529453725,30.9074712612 -4.5848984493,25.9888268144 1.4728980563,25.9888268144 C 7.5306959041,25.9888268144 12.4493269291,30.9074712612 12.4493269291,36.9652691090 C 12.4493269291,43.0230669568 7.5306959041,47.8911111956 1.4728980563,47.8911111956 C -4.5848984493,47.8911111956 -9.4529453725,43.0230669568 -9.4529453725,36.9652691090" />
+ <path stroke="0" skew="0" data="S 0.6729910155,40.2077269287 L 0.6729910155,40.2077269287" />
+ <path stroke="0" skew="0" data="B 4.6128755713,22.8227147214 C 4.6128755713,14.7712073917 -1.9635413691,8.1948008434 -10.0150435027,8.1948008434 C -18.0665409600,8.1948008434 -24.5842131510,14.7712073917 -24.5842131510,22.8227147214 C -24.5842131510,30.8742220511 -18.0665409600,37.3918615071 -10.0150435027,37.3918615071 C -1.9635413691,37.3918615071 4.6128755713,30.8742220511 4.6128755713,22.8227147214" />
+ <path stroke="0" skew="0" data="B -21.0546388483,22.9364649268 C -21.0546388483,16.8786670790 -16.1865919251,11.9600226322 -10.1287954195,11.9600226322 C -4.0709975717,11.9600226322 0.8476334533,16.8786670790 0.8476334533,22.9364649268 C 0.8476334533,28.9942627746 -4.0709975717,33.8623070134 -10.1287954195,33.8623070134 C -16.1865919251,33.8623070134 -21.0546388483,28.9942627746 -21.0546388483,22.9364649268" />
+ <path stroke="0" skew="0" data="S -10.9287024603,26.1789227465 L -10.9287024603,26.1789227465" />
+ <path stroke="0" skew="0" data="B 28.1797545522,22.5870459316 C 28.1797545522,14.5355386019 21.6033376118,7.9591320536 13.5518354782,7.9591320536 C 5.5003380209,7.9591320536 -1.0173341701,14.5355386019 -1.0173341701,22.5870459316 C -1.0173341701,30.6385532613 5.5003380209,37.1561927173 13.5518354782,37.1561927173 C 21.6033376118,37.1561927173 28.1797545522,30.6385532613 28.1797545522,22.5870459316" />
+ <path stroke="0" skew="0" data="B 2.5122401326,22.7007961370 C 2.5122401326,16.6429982892 7.3802870558,11.7243538424 13.4380835614,11.7243538424 C 19.4958814092,11.7243538424 24.4145124342,16.6429982892 24.4145124342,22.7007961370 C 24.4145124342,28.7585939848 19.4958814092,33.6266382236 13.4380835614,33.6266382236 C 7.3802870558,33.6266382236 2.5122401326,28.7585939848 2.5122401326,22.7007961370" />
+ <path stroke="0" skew="0" data="S 12.6381765206,25.9432539567 L 12.6381765206,25.9432539567" />
</glyph>
</collection>
<collection name="tie_point">
@@ -761,9 +782,9 @@
<collection name="ttf_units">
<selected id="1"/>
<glyph id="1" left="-28" right="33.862433862433868">
- <path stroke="0" skew="0" data="B -6.0899248168,38.0434024924 M -2.8630040425,38.0434024924 M -2.8630040425,23.6255653344 C -2.8630121814,21.0821770969 -2.4020200113,19.2488133281 -1.4800356711,18.1254903056 C -0.5580676085,17.0127559170 0.9361750157,16.4563927921 3.0026840628,16.4563927921 C 5.0585719206,16.4563927921 6.5475161585,17.0127559170 7.4695086375,18.1254903056 C 8.3914685612,19.2488133281 8.8524607313,21.0821770969 8.8524770090,23.6255653344 M 8.8524770090,38.0434024924 M 12.0793977833,38.0434024924 M 12.0793977833,23.2281619397 C 12.0793815056,20.1337008248 11.3110666480,17.7969659337 9.7744532104,16.2179491275 C 8.2484039902,14.6389323212 5.9911530336,13.8494239181 3.0026840628,13.8494239181 C 0.0035939027,13.8494239181 -2.2642538266,14.6389323212 -3.8008754030,16.2179491275 C -5.3269164844,17.7969659337 -6.0899329556,20.1337008248 -6.0899248168,23.2281619397 M -6.0899248168,38.0434024924" />
+ <path stroke="0" skew="0" data="B -6.0899248168,23.2281619397 C -6.0899329556,20.1337008248 -5.3269164844,17.7969659337 -3.8008754030,16.2179491275 C -2.2642538266,14.6389323212 0.0035939027,13.8494239181 3.0026840628,13.8494239181 C 5.9911530336,13.8494239181 8.2484039902,14.6389323212 9.7744532104,16.2179491275 C 11.3110666480,17.7969659337 12.0793815056,20.1337008248 12.0793977833,23.2281619397 M 12.0793977833,38.0434024924 M 8.8524770090,38.0434024924 M 8.8524770090,23.6255653344 C 8.8524607313,21.0821770969 8.3914685612,19.2488133281 7.4695086375,18.1254903056 C 6.5475161585,17.0127559170 5.0585719206,16.4563927921 3.0026840628,16.4563927921 C 0.9361750157,16.4563927921 -0.5580676085,17.0127559170 -1.4800356711,18.1254903056 C -2.4020200113,19.2488133281 -2.8630121814,21.0821770969 -2.8630040425,23.6255653344 M -2.8630040425,38.0434024924 M -6.0899248168,38.0434024924 M -6.0899248168,23.2281619397" />
<path stroke="0" skew="0" data="B 33.2536298156,27.2056142010 C 33.2536298156,10.4831173296 19.6080711315,-3.1624413546 2.8855742601,-3.1624413546 C -13.8369226113,-3.1624413546 -27.4824812955,10.4831173296 -27.4824812955,27.2056142010 C -27.4824812955,43.9281110724 -13.8369226113,57.5736697565 2.8855742601,57.5736697565 C 19.6080711315,57.5736697565 33.2536298156,43.9281110724 33.2536298156,27.2056142010" />
- <path stroke="0" skew="0" data="B -19.3436389355,27.2056142010 C -19.3436389355,14.8816732946 -9.4383666463,4.9764010054 2.8855742601,4.9764010054 C 15.2095151665,4.9764010054 25.1147874557,14.8816732946 25.1147874557,27.2056142010 C 25.1147874557,39.5295551074 15.2095151665,49.4348273966 2.8855742601,49.4348273966 C -9.4383666463,49.4348273966 -19.3436389355,39.5295551074 -19.3436389355,27.2056142010" />
+ <path stroke="0" skew="0" data="B -22.0538300183,27.0877798061 C -22.0538300183,13.1306455577 -10.8358911985,1.9127067379 3.1212430499,1.9127067379 C 17.0783772983,1.9127067379 28.2963161181,13.1306455577 28.2963161181,27.0877798061 C 28.2963161181,41.0449140545 17.0783772983,52.2628528743 3.1212430499,52.2628528743 C -10.8358911985,52.2628528743 -22.0538300183,41.0449140545 -22.0538300183,27.0877798061" />
</glyph>
</collection>
<collection unicode="U+75">
@@ -878,71 +899,74 @@
<ligature sequence="i n s e r t _ g l y p h _ f r o m _ o v e r v i e w" replacement="insert_glyph_from_overview"/>
<ligature sequence="h i g h _ c o n t r a s t _ b a c k g r o u n d" replacement="high_contrast_background"/>
+ <ligature sequence="s h o w _ x h e i g h t _ h e l p l i n e s" replacement="show_xheight_helplines"/>
<ligature sequence="g e n e r a t e _ h t m l _ d o c u m e n t" replacement="generate_html_document"/>
- <ligature sequence="s h o w _ x h e i g h t _ h e l p l i n e s" replacement="show_xheight_helplines"/>
+ <ligature sequence="s h o w _ a l l _ l i n e _ h a n d l e s" replacement="show_all_line_handles"/>
+ <ligature sequence="b a c k g r o u n d _ h e l p _ l i n e s" replacement="background_help_lines"/>
+ <ligature sequence="a u t o _ t r a c e _ r e s o l u t i o n" replacement="auto_trace_resolution"/>
<ligature sequence="z o o m _ b a c k g r o u n d _ i m a g e" replacement="zoom_background_image"/>
- <ligature sequence="a u t o _ t r a c e _ r e s o l u t i o n" replacement="auto_trace_resolution"/>
- <ligature sequence="b a c k g r o u n d _ h e l p _ l i n e s" replacement="background_help_lines"/>
- <ligature sequence="s h o w _ a l l _ l i n e _ h a n d l e s" replacement="show_all_line_handles"/>
<ligature sequence="a u t o _ t r a c e _ s i m p l i f y" replacement="auto_trace_simplify"/>
- <ligature sequence="c o n t r a s t _ t h r e s h o l d" replacement="contrast_threshold"/>
<ligature sequence="k e r n i n g _ t e x t _ i n p u t" replacement="kerning_text_input"/>
+ <ligature sequence="c o n t r a s t _ t h r e s h o l d" replacement="contrast_threshold"/>
+ <ligature sequence="d e l e t e _ b a c k g r o u n d" replacement="delete_background"/>
+ <ligature sequence="n e w _ p o i n t _ o n _ p a t h" replacement="new_point_on_path"/>
+ <ligature sequence="i n s e r t _ b a c k g r o u n d" replacement="insert_background"/>
<ligature sequence="s e l e c t _ b a c k g r o u n d" replacement="select_background"/>
- <ligature sequence="i n s e r t _ b a c k g r o u n d" replacement="insert_background"/>
- <ligature sequence="n e w _ p o i n t _ o n _ p a t h" replacement="new_point_on_path"/>
- <ligature sequence="d e l e t e _ b a c k g r o u n d" replacement="delete_background"/>
- <ligature sequence="q u a d r a t i c _ p o i n t s" replacement="quadratic_points"/>
<ligature sequence="s c a l e _ b a c k g r o u n d" replacement="scale_background"/>
- <ligature sequence="z o o m _ b o u n d a r i e s" replacement="zoom_boundaries"/>
- <ligature sequence="s h o w _ b a c k g r o u n d" replacement="show_background"/>
+ <ligature sequence="q u a d r a t i c _ p o i n t s" replacement="quadratic_points"/>
+ <ligature sequence="m o v e _ b a c k g r o u n d" replacement="move_background"/>
<ligature sequence="f l i p _ h o r i z o n t a l" replacement="flip_horizontal"/>
- <ligature sequence="m o v e _ b a c k g r o u n d" replacement="move_background"/>
- <ligature sequence="f i l l _ o p e n _ p a t h" replacement="fill_open_path"/>
- <ligature sequence="u p d a t e _ w e b v i e w" replacement="update_webview"/>
- <ligature sequence="c u t _ b a c k g r o u n d" replacement="cut_background"/>
+ <ligature sequence="s h o w _ b a c k g r o u n d" replacement="show_background"/>
+ <ligature sequence="z o o m _ b o u n d a r i e s" replacement="zoom_boundaries"/>
<ligature sequence="i n s e r t _ u n i c h a r" replacement="insert_unichar"/>
- <ligature sequence="k e r n i n g _ c l a s s" replacement="kerning_class"/>
- <ligature sequence="d o u b l e _ p o i n t s" replacement="double_points"/>
- <ligature sequence="c o n v e r t _ p o i n t" replacement="convert_point"/>
- <ligature sequence="d e l e t e _ b u t t o n" replacement="delete_button"/>
- <ligature sequence="f l i p _ v e r t i c a l" replacement="flip_vertical"/>
+ <ligature sequence="c u t _ b a c k g r o u n d" replacement="cut_background"/>
+ <ligature sequence="u p d a t e _ w e b v i e w" replacement="update_webview"/>
+ <ligature sequence="f i l l _ o p e n _ p a t h" replacement="fill_open_path"/>
<ligature sequence="d r o p d o w n _ m e n u" replacement="dropdown_menu"/>
- <ligature sequence="e x p o r t _ f o n t s" replacement="export_fonts"/>
- <ligature sequence="r e v e r s e _ p a t h" replacement="reverse_path"/>
- <ligature sequence="c u b i c _ p o i n t s" replacement="cubic_points"/>
- <ligature sequence="x _ c o o r d i n a t e" replacement="x_coordinate"/>
+ <ligature sequence="f l i p _ v e r t i c a l" replacement="flip_vertical"/>
+ <ligature sequence="d e l e t e _ b u t t o n" replacement="delete_button"/>
+ <ligature sequence="c o n v e r t _ p o i n t" replacement="convert_point"/>
+ <ligature sequence="d o u b l e _ p o i n t s" replacement="double_points"/>
+ <ligature sequence="k e r n i n g _ c l a s s" replacement="kerning_class"/>
+ <ligature sequence="a d d _ n e w _ t h e m e" replacement="add_new_theme"/>
<ligature sequence="y _ c o o r d i n a t e" replacement="y_coordinate"/>
- <ligature sequence="m o v e _ c a n v a s" replacement="move_canvas"/>
- <ligature sequence="s p i n _ b u t t o n" replacement="spin_button"/>
+ <ligature sequence="x _ c o o r d i n a t e" replacement="x_coordinate"/>
+ <ligature sequence="c u b i c _ p o i n t s" replacement="cubic_points"/>
+ <ligature sequence="r e v e r s e _ p a t h" replacement="reverse_path"/>
+ <ligature sequence="e x p o r t _ f o n t s" replacement="export_fonts"/>
<ligature sequence="c r e a t e _ l i n e" replacement="create_line"/>
- <ligature sequence="f u l l _ g l y p h" replacement="full_glyph"/>
- <ligature sequence="p o i n t _ t o o l" replacement="point_tool"/>
- <ligature sequence="s e l e c t _ a l l" replacement="select_all"/>
- <ligature sequence="m o v e _ l a y e r" replacement="move_layer"/>
+ <ligature sequence="s p i n _ b u t t o n" replacement="spin_button"/>
+ <ligature sequence="m o v e _ c a n v a s" replacement="move_canvas"/>
<ligature sequence="h e l p _ l i n e s" replacement="help_lines"/>
- <ligature sequence="t t f _ u n i t s" replacement="ttf_units"/>
- <ligature sequence="r e c t a n g l e" replacement="rectangle"/>
- <ligature sequence="z o o m _ t o o l" replacement="zoom_tool"/>
- <ligature sequence="f o r e s i g h t" replacement="foresight"/>
- <ligature sequence="s y m m e t r i c" replacement="symmetric"/>
- <ligature sequence="t i e _ p o i n t" replacement="tie_point"/>
- <ligature sequence="u n d o _ t o o l" replacement="undo_tool"/>
- <ligature sequence="a u t o t r a c e" replacement="autotrace"/>
- <ligature sequence="s h o w _ g r i d" replacement="show_grid"/>
+ <ligature sequence="m o v e _ l a y e r" replacement="move_layer"/>
+ <ligature sequence="s e l e c t _ a l l" replacement="select_all"/>
+ <ligature sequence="p o i n t _ t o o l" replacement="point_tool"/>
+ <ligature sequence="f u l l _ g l y p h" replacement="full_glyph"/>
<ligature sequence="i n f o _ i c o n" replacement="info_icon"/>
- <ligature sequence="z o o m _ 1 _ 1" replacement="zoom_1_1"/>
- <ligature sequence="p e n _ t o o l" replacement="pen_tool"/>
- <ligature sequence="r o t a t i o n" replacement="rotation"/>
+ <ligature sequence="s h o w _ g r i d" replacement="show_grid"/>
+ <ligature sequence="a u t o t r a c e" replacement="autotrace"/>
+ <ligature sequence="u n d o _ t o o l" replacement="undo_tool"/>
+ <ligature sequence="t i e _ p o i n t" replacement="tie_point"/>
+ <ligature sequence="s y m m e t r i c" replacement="symmetric"/>
+ <ligature sequence="f o r e s i g h t" replacement="foresight"/>
+ <ligature sequence="z o o m _ t o o l" replacement="zoom_tool"/>
+ <ligature sequence="r e c t a n g l e" replacement="rectangle"/>
+ <ligature sequence="t t f _ u n i t s" replacement="ttf_units"/>
<ligature sequence="z o o m _ o u t" replacement="zoom_out"/>
+ <ligature sequence="r o t a t i o n" replacement="rotation"/>
+ <ligature sequence="p e n _ t o o l" replacement="pen_tool"/>
+ <ligature sequence="z o o m _ 1 _ 1" replacement="zoom_1_1"/>
<ligature sequence="z o o m _ i n" replacement="zoom_in"/>
- <ligature sequence="c i r c l e" replacement="circle"/>
- <ligature sequence="r e s i z e" replacement="resize"/>
<ligature sequence="h e i g h t" replacement="height"/>
- <ligature sequence="t r a c k" replacement="track"/>
+ <ligature sequence="r e s i z e" replacement="resize"/>
+ <ligature sequence="c i r c l e" replacement="circle"/>
+ <ligature sequence="t h e m e" replacement="theme"/>
<ligature sequence="w i d t h" replacement="width"/>
- <ligature sequence="p r e v" replacement="prev"/>
- <ligature sequence="m o v e" replacement="move"/>
+ <ligature sequence="t r a c k" replacement="track"/>
<ligature sequence="s k e w" replacement="skew"/>
+ <ligature sequence="m o v e" replacement="move"/>
+ <ligature sequence="p r e v" replacement="prev"/>
+ <ligature sequence="n e x t" replacement="next"/>
</font>