7 print_font (MFont *font)
9 MSymbol family, language, script, otf;
11 family = mfont_get_prop (font, Mfamily);
12 language = mfont_get_prop (font, Mlanguage);
13 script = mfont_get_prop (font, Mscript);
14 otf = mfont_get_prop (font, Motf);
17 printf ("%s", msymbol_name (family));
19 printf (":script=%s", msymbol_name (script));
21 printf (":lang=%s", msymbol_name (language));
23 printf (":otf=%s", msymbol_name (otf));
27 main (int argc, char **argv)
31 MPlist *plist, *pl, *p, *p0;
34 || strcmp ("-h", argv[1]) == 0 || strcmp ("--help", argv[1]) == 0)
36 printf ("Usage: check-fs FONTSET-NAME\n");
42 mplist_add (plist, Mdevice, NULL);
43 frame = mframe (plist);
44 m17n_object_unref (plist);
46 fontset = mfontset (argv[1]);
47 for (plist = mfontset_lookup (fontset, Mt, Mnil, Mnil);
48 plist && mplist_key (plist) != Mnil; plist = mplist_next (plist))
50 MSymbol script = mplist_key (plist);
52 printf ("\n(%s", msymbol_name (script));
53 for (pl = mfontset_lookup (fontset, script, Mt, Mnil);
54 pl && mplist_key (pl) != Mnil; pl = mplist_next (pl))
56 MSymbol language = mplist_key (pl);
60 printf ("\n (%s", msymbol_name (language));
61 for (p = mfontset_lookup (fontset, script, language, Mnil);
62 p && mplist_key (p) != Mnil; p = mplist_next (p))
64 MSymbol flt = mplist_key (p);
65 MFont *font = mplist_value (p);
70 printf (" (with flt %s)", msymbol_name (flt));
71 for (p0 = mfont_list (frame, font, Mnil, 0);
72 p0 && mplist_key (p0) != Mnil; p0 = mplist_next (p0))
73 if (! mplist_find_by_key (mplist_next (p0), mplist_key (p0)))
74 printf ("\n %s", msymbol_name (mplist_key (p0)));
83 m17n_object_unref (frame);