diff --git a/src/hb-coretext.cc b/src/hb-coretext.cc index 53adc815e7354503de1b6d8698f052d7a9c9f963..06e001ce3ec284e59e96d7d76d4db5e0711913e3 100644 --- a/src/hb-coretext.cc +++ b/src/hb-coretext.cc @@ -698,6 +698,18 @@ retry: CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), kCTVerticalFormsAttributeName, kCFBooleanTrue); } + if (buffer->props.language) + { + CFStringRef lang = CFStringCreateWithCStringNoCopy (kCFAllocatorDefault, + hb_language_to_string (buffer->props.language), + kCFStringEncodingUTF8, + kCFAllocatorNull); + if (unlikely (!lang)) + FAIL ("CFStringCreateWithCStringNoCopy failed"); + CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), + kCTLanguageAttributeName, lang); + CFRelease (lang); + } CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), kCTFontAttributeName, font_data->ct_font);