From 290e3ee51727df75d136ccfff79831b94d1583b6 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 26 Aug 2011 09:25:04 +0200 Subject: [PATCH] [graphite] Only pass the first part language tag to graphite Still not sure about: 1) Case. We pass lowercase for now. Would be nice if graphite was uppercase 3letter like OpenType, 2) Padding. IMO, tag padding is always with spaces, but Martin was talking about NUL bytes. --- src/hb-graphite2.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hb-graphite2.cc b/src/hb-graphite2.cc index 76b8a2fe..0749a93b 100644 --- a/src/hb-graphite2.cc +++ b/src/hb-graphite2.cc @@ -236,9 +236,10 @@ hb_graphite_shape (hb_font_t *font, if (!charlen) return TRUE; - /* XXX(behdad): Do we need OT lang tag here? */ const char *lang = hb_language_to_string (hb_buffer_get_language (buffer)); - gr_feature_val *feats = gr_face_featureval_for_lang (data->grface, lang ? hb_tag_from_string (lang, -1) : 0); + const char *lang_end = strchr (lang, '-'); + int lang_len = lang_end ? lang_end - lang : -1; + gr_feature_val *feats = gr_face_featureval_for_lang (data->grface, lang ? hb_tag_from_string (lang, lang_len) : 0); while (num_features--) { -- GitLab