Clone in a terminal:
Commit aac21f7
Johan Mattsson - 2013-09-02T11:21:32+00:00
aac21f7febf437a44610aae425dd456b4a0ed792johan.mattsson.m@gmail.com

do not export path with only one point chrome does not load the font if a path has less than 2 points

Changed files (4)

Diff

diff --git a/libbirdfont/Glyph.vala b/libbirdfont/Glyph.valaindex 5ce34fe..fe6ebc8 100644--- a/libbirdfont/Glyph.vala+++ b/libbirdfont/Glyph.vala@@ -455,7 +455,7 @@ public class Glyph : FontDisplay { 	 	public void remove_empty_paths () { 		foreach (Path p in path_list) {-			if (p.points.length () == 0) {+			if (p.points.length () < 2) { 				delete_path (p); 				remove_empty_paths (); 				return;diff --git a/libbirdfont/OpenFontFormat/GlyfData.vala b/libbirdfont/OpenFontFormat/GlyfData.valaindex bb75847..f579357 100644--- a/libbirdfont/OpenFontFormat/GlyfData.vala+++ b/libbirdfont/OpenFontFormat/GlyfData.vala@@ -54,10 +54,18 @@ class GlyfData : GLib.Object { 	private static double UNITS = HeadTable.UNITS; 	 	public GlyfData (Glyph g) {	+		Path q;+		 		glyph = g; 		 		foreach (Path p in g.path_list) {-			paths.append (p.get_quadratic_points ());+			q = p.get_quadratic_points ();+			+			if (q.points.length () < 2) {+				warning (@"A path in $(g.get_name ()) contains less than three points, it will not be exported.");+			} else {+				paths.append (q);+			} 		} 		 		process_end_points ();@@ -91,6 +99,11 @@ class GlyfData : GLib.Object { 				continue; 			} 			+			if (quadratic.points.length () < 2) {+				warning ("A path contains less than three points, it will not be exported.");+				continue;+			}+			 			foreach (EditPoint e in quadratic.points) { 				end_point++; 				type = e.get_right_handle ().type;diff --git a/libbirdfont/OpenFontFormat/GposTable.vala b/libbirdfont/OpenFontFormat/GposTable.valaindex d8b3a15..3535b26 100644--- a/libbirdfont/OpenFontFormat/GposTable.vala+++ b/libbirdfont/OpenFontFormat/GposTable.vala@@ -202,8 +202,6 @@ class GposTable : Table { 				return; 			} 			-			print (@"kerning: $left $right $kerning\n");-			 			pair_index = get_pair_index (gid1); 			if (pair_index == -1) { 				pair = new PairFormat1 ();diff --git a/libbirdfont/Path.vala b/libbirdfont/Path.valaindex caa94c6..f1ad470 100644--- a/libbirdfont/Path.vala+++ b/libbirdfont/Path.vala@@ -1094,6 +1094,7 @@ public class Path { 		}  		if (points.length () < 2) {+			warning ("Less than 2 points in path."); 			return quadratic_path; 		} 		

Contact

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