Clone in a terminal:
Commit dc9e16d
Johan Mattsson - 2016-12-04T19:59:24+00:00
dc9e16d10f600bc46d386fef8b7332669ecbc1e7johan.mattsson.m@gmail.com

Fix RTL kerning

Changed files (3)

Diff

diff --git a/libbirdfont/KerningDisplay.vala b/libbirdfont/KerningDisplay.valaindex 54dede3..d0a6e6a 100644--- a/libbirdfont/KerningDisplay.vala+++ b/libbirdfont/KerningDisplay.vala@@ -46,7 +46,7 @@ public class KerningDisplay : FontDisplay { 	public bool adjust_side_bearings = false; 	public bool right_side_bearing = true; -	public bool right_to_left = false; 	+	public static bool right_to_left = false; 	 	 	WidgetAllocation allocation = new WidgetAllocation (); 	@@ -200,7 +200,7 @@ public class KerningDisplay : FontDisplay { 					glyph.add_help_lines ();  					if (right_to_left) {-						cr.translate (x - kern - glyph.get_lsb () - glyph.get_width () - Glyph.xc (), glyph.get_baseline () + y  - Glyph.yc ());+						cr.translate (-kern + x - glyph.get_lsb () - glyph.get_width () - Glyph.xc (), glyph.get_baseline () + y  - Glyph.yc ()); 					} else {						 						cr.translate (kern + x - glyph.get_lsb () - Glyph.xc (), glyph.get_baseline () + y  - Glyph.yc ()); 					}diff --git a/libbirdfont/Menu.vala b/libbirdfont/Menu.valaindex dcb270e..a3004be 100644--- a/libbirdfont/Menu.vala+++ b/libbirdfont/Menu.vala@@ -392,7 +392,12 @@ public class Menu : AbstractMenu {  		MenuItem next_kerning_pair = add_menu_item (t_("Select Next Kerning Pair"), "select next kerning pair"); 		next_kerning_pair.action.connect (() => {-			KerningDisplay.next_pair ();+			if (KerningDisplay.right_to_left)  {+				KerningDisplay.previous_pair ();			+			} else {+				KerningDisplay.next_pair ();+			}+			 			show_menu = false; 		}); 		next_kerning_pair.add_display("Kerning");@@ -401,7 +406,12 @@ public class Menu : AbstractMenu {  		MenuItem previous_kerning_pair = add_menu_item (t_("Select Previous Kerning Pair"), "select previous kerning pair"); 		previous_kerning_pair.action.connect (() => {-			KerningDisplay.previous_pair ();+			if (KerningDisplay.right_to_left)  {+				KerningDisplay.next_pair ();			+			} else {+				KerningDisplay.previous_pair ();+			}+			 			show_menu = false; 		}); 		previous_kerning_pair.add_display("Kerning");diff --git a/libbirdfont/SvgFontFormatWriter.vala b/libbirdfont/SvgFontFormatWriter.valaindex 2129e63..b6090be 100644--- a/libbirdfont/SvgFontFormatWriter.vala+++ b/libbirdfont/SvgFontFormatWriter.vala@@ -60,6 +60,8 @@ class SvgFontFormatWriter : Object  { 		put ("<defs>");  		string font_id = font_name.replace (" ", "-");+		font_id = B.XmlParser.encode (font_id); +		 		Glyph space = font.get_space ().get_current (); 		double space_width = space.get_width (); 		@@ -67,7 +69,7 @@ class SvgFontFormatWriter : Object  { 		put (@"<font-face units-per-em=\"$(to_float (units_per_em))\" ascent=\"$(to_float (ascent))\" descent=\"$(to_float (descent))\" />");  		put (@"<font-src>");-		put (@"\t<font-face-name=\"$font_name\">");+		put (@"\t<font-face-name=\"XmlParser.encode ($font_name)\">"); 		put (@"</font-src>");  		// (missing-glyph goes here)

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112