Clone in a terminal:
Commit 776c695
Johan Mattsson - 2013-02-18T14:32:22+00:00
776c6957d3f29c3b69e63b9eea2174cb42b86185johan.mattsson.m@gmail.com

bugfix: truncate kern table

Changed files (1)

Diff

diff --git a/libbirdfont/OpenFontFormatWriter.vala b/libbirdfont/OpenFontFormatWriter.valaindex 0329de0..0edffef 100644--- a/libbirdfont/OpenFontFormatWriter.vala+++ b/libbirdfont/OpenFontFormatWriter.vala@@ -4550,7 +4550,7 @@ class KernTable : Table { 			
 			foreach (Kerning k in g.kerning) {
 				// n_pairs is used to truncate this table to prevent buffer overflow
-				if (n_pairs == ++i) {
+				if (n_pairs == i++) {
 					break;
 				}
 
@@ -4751,7 +4751,10 @@ class DirectoryTable : Table { 			tables.append (offset_table);
 			tables.append (this);
 			
-			tables.append (gpos_table);			
+			if (kern_table.kerning_pairs > 0) {
+				tables.append (gpos_table);
+			}
+			
 			// tables.append (gdef_table); // invalid table
 			tables.append (os_2_table);
 			tables.append (cmap_table);

Contact

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