src/hb-uniscribe.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
New commits: commit 872969126756456a69bf958f3df6e56a26e57b0a Author: Behdad Esfahbod <[email protected]> Date: Fri Jun 8 14:18:30 2012 -0400 Increase Uniscribe MAX_ITEMS diff --git a/src/hb-uniscribe.cc b/src/hb-uniscribe.cc index 17d0acc..b71b00a 100644 --- a/src/hb-uniscribe.cc +++ b/src/hb-uniscribe.cc @@ -295,7 +295,7 @@ retry: ALLOCATE_ARRAY (uint32_t, vis_clusters, glyphs_size); -#define MAX_ITEMS 10 +#define MAX_ITEMS 256 SCRIPT_ITEM items[MAX_ITEMS + 1]; SCRIPT_CONTROL bidi_control = {0}; commit dbffa4c83d29c689ee4cd8a1c53e84521028c711 Author: Behdad Esfahbod <[email protected]> Date: Fri Jun 8 14:08:32 2012 -0400 Fix Uniscribe charset matching Previously was failing to match fonts that didn't support CHARSET_ANSI. There still remains a problem with the Uniscribe backend, in that if a font with the same family name is installed, and is newer, the native one is preferred over the font we provide. Fixing it requires rewriting the name table with a unique family name... diff --git a/src/hb-uniscribe.cc b/src/hb-uniscribe.cc index 42721ec..17d0acc 100644 --- a/src/hb-uniscribe.cc +++ b/src/hb-uniscribe.cc @@ -64,6 +64,7 @@ populate_log_font (LOGFONTW *lf, { memset (lf, 0, sizeof (*lf)); lf->lfHeight = -font->y_scale; + lf->lfCharSet = DEFAULT_CHARSET; hb_blob_t *blob = Sanitizer<name>::sanitize (hb_face_reference_table (font->face, HB_TAG ('n','a','m','e'))); const name *name_table = Sanitizer<name>::lock_instance (blob); commit 82e8bd8628aeb37835fb019a71b6bdac87824b97 Author: Behdad Esfahbod <[email protected]> Date: Fri Jun 8 11:48:29 2012 -0400 Remove unused code diff --git a/src/hb-uniscribe.cc b/src/hb-uniscribe.cc index 485e084..42721ec 100644 --- a/src/hb-uniscribe.cc +++ b/src/hb-uniscribe.cc @@ -60,11 +60,9 @@ DWORD GetFontData( static bool populate_log_font (LOGFONTW *lf, - HDC hdc, hb_font_t *font) { memset (lf, 0, sizeof (*lf)); - int dpi = GetDeviceCaps (hdc, LOGPIXELSY); lf->lfHeight = -font->y_scale; hb_blob_t *blob = Sanitizer<name>::sanitize (hb_face_reference_table (font->face, HB_TAG ('n','a','m','e'))); @@ -178,7 +176,7 @@ _hb_uniscribe_font_get_data (hb_font_t *font) data->hdc = GetDC (NULL); - if (unlikely (!populate_log_font (&data->log_font, data->hdc, font))) + if (unlikely (!populate_log_font (&data->log_font, font))) DEBUG_MSG (UNISCRIBE, font, "Font populate_log_font() failed"); else { data->hfont = CreateFontIndirectW (&data->log_font); _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
