- else {
- if ($iscript & USSCRIPT) {
- for my $s (@{$options{Scripts}}) {
- next NXTLINE if ($scripts !~ /$s/i);
- }
- }
- if ($iscript & USNSCRIPT) {
- for my $s (@{$options{NScripts}}) {
- next NXTLINE if ($scripts =~ /$s/i);
- }
- }
+ if ($iscript) {
+ my @scripts = ();
+ my $scripts = "";
+ if ($l =~ / script=\"([^\"]+)\"/) {
+ @scripts = split(/\s+/, $1);
+ for my $ent (@scripts) {
+ $ent =~ s/^\s*otlayout://;
+ $ent = lc($ent);
+ }
+ $scripts = join(',', @scripts);
+ }
+ if ($iscript & USMSCRIPT) {
+ next NXTLINE if (! &ismathfont($fontname,\@scripts));
+ }
+ if ($iscript & USPSCRIPT) {
+ $props .= "($scripts)";
+ }
+ if (!defined($scripts[0])) {
+ # No script defined in font, so check only $options{Scripts}
+ next NXTLINE if ($iscript & USSCRIPT);
+ }
+ else {
+ if ($iscript & USSCRIPT) {
+ for my $s (@{$options{Scripts}}) {
+ next NXTLINE if ($scripts !~ /$s/i);
+ }
+ }
+ if ($iscript & USNSCRIPT) {
+ for my $s (@{$options{NScripts}}) {
+ next NXTLINE if ($scripts =~ /$s/i);
+ }
+ }
+ }