XDrawLine (display, seq_pixmap, gc_set, 0, glyph_y, render_width, glyph_y);
if (otf)
{
+ char *script_name = NULL, *langsys_name = NULL, buf[10];
char *str;
+ if (script_tag)
+ {
+ script_name = buf;
+ OTF_tag_name (script_tag, script_name);
+ }
+ if (langsys_tag)
+ {
+ langsys_name = buf + 5;
+ OTF_tag_name (langsys_tag, langsys_name);
+ }
+
OTF_drive_gdef (otf, &gstring);
OTF_drive_cmap (otf, &gstring);
if (otf->gsub)
if (str)
{
if (do_alternate_subst)
- OTF_drive_gsub_alternate (otf, &gstring, NULL, NULL, str);
+ OTF_drive_gsub_alternate (otf, &gstring,
+ script_name, langsys_name, str);
else
- OTF_drive_gsub (otf, &gstring, NULL, NULL, str);
+ OTF_drive_gsub (otf, &gstring, script_name, langsys_name, str);
free (str);
}
}
str = get_features (&otf->gpos->FeatureList, &gpos);
if (str)
{
- OTF_drive_gpos2 (otf, &gstring, NULL, NULL, str);
+ OTF_drive_gpos2 (otf, &gstring, script_name, langsys_name, str);
free (str);
}
}