Clone in a terminal:
Commit 57f1b8d
Johan Mattsson - 2013-07-30T13:37:14+00:00
57f1b8d670264a7a8ff5645f5b632bc6ab70ba30johan.mattsson.m@gmail.com

take ascender value from bounding box

Changed files (3)

Diff

diff --git a/libbirdfont/OpenFontFormat/HeadTable.vala b/libbirdfont/OpenFontFormat/HeadTable.valaindex 809661c..7c1a207 100644--- a/libbirdfont/OpenFontFormat/HeadTable.vala+++ b/libbirdfont/OpenFontFormat/HeadTable.vala@@ -40,7 +40,8 @@ class HeadTable : Table { 	uint64 created; 	uint64 modified; 		-	public static uint16 units_per_em = 4096;+	// public static uint16 units_per_em = 4096; FIXME: windows testing+	public static uint16 units_per_em = 1000; 	public static double UNITS = 10 * (units_per_em / 1000); 	 	const uint8 BASELINE_AT_ZERO = 1 << 0;@@ -178,7 +179,7 @@ class HeadTable : Table { 		printd (@"ymin: $ymin\n"); 		printd (@"xmax: $xmax\n"); 		printd (@"ymax: $ymax\n");-+		 		font_data.add_short (xmin); 		font_data.add_short (ymin); 		font_data.add_short (xmax);diff --git a/libbirdfont/OpenFontFormat/HheaTable.vala b/libbirdfont/OpenFontFormat/HheaTable.valaindex ecfa5c1..45d8e68 100644--- a/libbirdfont/OpenFontFormat/HheaTable.vala+++ b/libbirdfont/OpenFontFormat/HheaTable.vala@@ -81,14 +81,18 @@ class HheaTable : Table { 	} 	 	public void process () throws GLib.Error {+		int16 ascender, descender; 		Font font = OpenFontFormatWriter.get_current_font (); 		FontData fd = new FontData (); 		Fixed version = 1 << 16; 		 		fd.add_fixed (version); // table version 		-		fd.add_16 ((int16) (-1 * (font.top_position - font.base_line) * HeadTable.UNITS)); // Ascender-		fd.add_16 ((int16) (-1 * font.bottom_position * HeadTable.UNITS)); // Descender+		ascender = glyf_table.ymax;+		descender = glyf_table.ymin; // FIXME: look up, should it be -descender?+		+		fd.add_16 (ascender); // Ascender+		fd.add_16 (descender); // Descender 		fd.add_16 (0); // LineGap 				 		fd.add_u16 (hmtx_table.max_advance); // maximum advance width value in 'hmtx' table.diff --git a/libbirdfont/OpenFontFormat/Os2Table.vala b/libbirdfont/OpenFontFormat/Os2Table.valaindex 95e31d9..88f6217 100644--- a/libbirdfont/OpenFontFormat/Os2Table.vala+++ b/libbirdfont/OpenFontFormat/Os2Table.vala@@ -76,8 +76,8 @@ class Os2Table : Table { 		fd.add_u16 (glyf_table.get_first_char ()); // USHORT usFirstCharIndex 		fd.add_u16 (glyf_table.get_last_char ()); // USHORT usLastCharIndex -		ascender = (int16) (glyf_table.xmax + font.base_line * HeadTable.UNITS);-		descender = (int16) (-glyf_table.xmin  + font.base_line * HeadTable.UNITS);+		ascender = glyf_table.ymax;+		descender = -glyf_table.ymin; 		 		fd.add_16 (ascender); // SHORT sTypoAscender 		fd.add_16 (descender); // SHORT sTypoDescender

Contact

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