Clone in a terminal:
Commit fb7c04c
Johan Mattsson - 2014-02-14T11:59:41+00:00
fb7c04c0c3db1d457e7582d3de19f2bad3107a01johan.mattsson.m@gmail.com

Valid coverage offset in GPOS kerning Fixes a buf in the PairPosFormat1 subtable.

Changed files (1)

Diff

diff --git a/libbirdfont/OpenFontFormat/GposTable.vala b/libbirdfont/OpenFontFormat/GposTable.valaindex 3535b26..363ecdd 100644--- a/libbirdfont/OpenFontFormat/GposTable.vala+++ b/libbirdfont/OpenFontFormat/GposTable.vala@@ -1,5 +1,5 @@ /*-    Copyright (C) 2012, 2013 Johan Mattsson+    Copyright (C) 2012, 2013, 2014 Johan Mattsson      This library is free software; you can redistribute it and/or modify      it under the terms of the GNU Lesser General Public License as @@ -92,10 +92,12 @@ class GposTable : Table { 	FontData get_pair_pos_format1 () throws GLib.Error { 		FontData fd = new FontData (); 		uint16 pair_set_count;-		uint coverage_offset = 10 + pairs_offset_length () + pairs_set_length ();+		uint coverage_offset; 		 		create_kerning_pairs (); 		+		coverage_offset = 10 + pairs_offset_length () + pairs_set_length ();+		 		// FIXME: add more then current maximum of pairs 		 		if (pairs.length () > uint16.MAX || coverage_offset > uint16.MAX) {@@ -136,6 +138,11 @@ class GposTable : Table { 		 		ProgressBar.set_progress (0); // reset progress bar 		+		if (fd.length () != coverage_offset) {+			warning (@"Bad coverage offset, coverage_offset: $coverage_offset, length: $(fd.length ())");+			warning (@"pairs_offset_length: $(pairs_offset_length ()) pairs_set_length: $(pairs_set_length ())");+		}+		 		// coverage 		fd.add_ushort (1); // format 		fd.add_ushort ((uint16) pairs.length ());

Contact

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