static MSymbol M_font_capability, M_font_list, M_font_list_len;
-static MSymbol Motf;
-
/** Indices to font properties sorted by their priority. */
static int font_score_priority[] =
{ MFONT_SIZE,
continue;
if (str[0] == 'o' && strncmp (str + 1, "tf=", 3) == 0)
{
+ char *beg;
MSymbol sym;
int i;
str += 4;
+ beg = str;
for (i = 0, p = str; i < 4 && p < endp; i++, p++);
if (i < 4)
break;
cap->features[i].tags = malloc (sizeof (OTF_Tag));
cap->features[i].tags[0] = 0;
}
+ cap->otf = msymbol__with_len (beg, p - beg);
str = p;
}
else if (str[0] == 'l' && strncmp (str + 1, "ang=", 4) == 0)
The variable #Mfontfile is a symbol of name <tt>"fontfile"</tt>
and is used as a key of font property. The property value must be
a symbol whose name is a font file name. */
+MSymbol Motf;
+
+/***en
+ @brief Key of font property specifying file name.
+
+ The variable #Mfontfile is a symbol of name <tt>"fontfile"</tt>
+ and is used as a key of font property. The property value must be
+ a symbol whose name is a font file name. */
/***ja
@brief ¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¥Õ¥©¥ó¥È¥×¥í¥Ñ¥Æ¥£¤Î¥¡¼.
int resy = font->property[MFONT_RESY];
return (void *) resy;
}
+ if (key == Mlanguage || key == Mscript || key == Motf)
+ {
+ MFontCapability *cap;
+
+ if (! font->capability)
+ return NULL;
+ cap = mfont__get_capability (font->capability);
+ if (key == Mlanguage)
+ return cap->language;
+ if (key == Mscript)
+ return cap->script;
+ return cap->otf;
+ }
+
if (key == Mfontfile)
return (void *) font->file;
if (key == Mspacing)