В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Взгляните на:
http://www.pinvoke.net/default.aspx/Structures/LOGFONT.html
Использование одна из структур там, затем цикл по семействам, инстанцируя Шрифта, и получая значение LogFont и проверяя lfPitchAndFamily.
следующий код написан на лету и не протестирован, но что-то как следующее должно работать:
foreach (FontFamily ff in System.Drawing.FontFamily.Families)
{
if (ff.IsStyleAvailable(FontStyle.Regular))
{
Font font = new Font(ff, 10);
LOGFONT lf = new LOGFONT();
font.ToLogFont(lf);
if (lf.lfPitchAndFamily ^ 1)
{
do stuff here......
}
}
}
AFAIK Вы не можете сделать этого пользующийся библиотеками BCL только. Необходимо использовать WinAPI interop.
необходимо проанализировать 2 самых низких бита участник LOGFONT .lfPitchAndFamily. Существует постоянный FIXED_PITCH (означает, что шрифт является фиксированной шириной), который может использоваться в качестве небольшой маски для lfPitchAndFamily.
Вот полезная статья:
шрифты Перечисления могут немного сбивать с толку, и если Вы не хотите перечислить все шрифты в своей системе, может быть немного более трудным, чем MSDN предлагает. Эта статья объяснит точно шаги, которые необходимо использовать, чтобы найти каждый шрифт фиксированной ширины в системе и также перечислить каждый возможный размер для каждого отдельного шрифта.