Заносит в массив информацию о доступных шрифтах.

Tip:
Вы можете также использовать AFONT( ), чтобы определить доступные размеры шрифта или является ли шрифт масштабируемым. Пользуйтесь функцией GETFONT( ), когда нужно отобразить на экране диалоговое окно, содержащее перечень имеющихся шрифтов, их размеров и стилей.. Для получения дополнительной информации, см. Функция GETFONT ().

AFONT(ArrayName [, cFontName [, nFontSize | nFontCharSet [, nFlags]]])

Параметры

ArrayName

Задает массив переменных памяти, в который будут занесены имена доступных шрифтов. Если массив недостаточно велик, чтобы вместить все шрифты, Visual FoxPro автоматически увеличит его размер. Если задан существующий двумерный массив, Visual FoxPro преобразует его в одномерный.
cFontName

Задает шрифт, информация о котором заносится в массив. Если заданный шрифт допускает несколько вариантов размеров (8 пунктов, 10 пунктов и т.д.), то в массив заносятся эти размеры и функция AFONT( ) возвращает значение "истина" (.T.). Если заданный шрифт, определенный параметром cFontName является масштабируемым (допускает дробные значения размера), то массив будет состоять из одного элемента, содержащего -1, а AFONT( ) возвращает также значение "истина" (.T.). Если заданный шрифт отсутствует, массив не создается и AFONT( ) возвращает "ложь" (.F.).
nFontSize

Задает размер шрифта, заданного аргументом cFontName. Если размер nFontSize является допустимым для шрифта cFontName,, массив будет состоять из одного элемента, содержащего значение "истина" (.T.), и функция AFONT( ) также возвращает значение "истина" (.T.). Если указанный размер не является допустимым для заданного шрифта, массив не создается и AFONT( ) возвращает "ложь" (.F.).
nFontCharSet

Определяет набор символов для шрифта, заданного в in cFontName. Если набор символов шрифта указанный доступен для шрифта, заданного в in cFontName, массив имеет единственный элемент, содержащий значение "истина" (.T)., и функция AFONT( ) и функция AFONT( ) также возвращает значение "истина" (.T.). Если набор символов шрифта не доступен для указанного шрифта, массив не создается и AFONT( ) возвращает "ложь" (.F.).
nFlags

Контролирует, прошел ли третий параметр, обработаный как размер шрифта или набор символов шрифта. Следующая таблица описывает поведение для различных заданных значений nFlags.

nFlags Описание

Опущен или 0 для первого бита

Третий параметр обработан как значение размера шрифта.

Если третий параметр - 1, массив модифицирован со всеми доступными размерами шрифта для шрифта, указанного в cFontName для непропорциональных шрифтов, типа MS Sans Serif, и функция AFONT( ) возвращает значение "истина" (.T.). Это поведение в Visual FoxPro 8.0 и старше эквивалентно заданию только первых двух параметров.

Комментарии:
В версиях Visual FoxPro до 8.0, если Вы определили любой отрицательный или положительный размер шрифта для непропорционального шрифта, функция AFONT( )возвращает значение "ложь" (.F.).

Если третий параметр прошел - 0, для непропорциональных шрифтов, функция AFONT( )возвращает значение "ложь" (.F.) для Visual FoxPro 8.0 и старше. Однако, поведение для пропорциональных шрифтов типа TrueType или OpenType (Arial) не изменилось.

1

Третий параметр обработан как набор символов шрифта. Массив заполняется с наборами символов, доступными для указанного шрифта.

Если третий параметр прошел -1, массив модифицирован со всеми доступными наборами символов шрифта для шрифта, указанного в cFontName.

Результат

Логический. Функция AFONT( ) возвращает значение "истина"(.T.).), если массив успешно создан. Иначе, функция AFONT( ) возвращает значение "ложь" (.F.).

Замечания

Если только ArrayName передавался в версиях Visual FoxPro ранее 8.0, массив, заполняемый в AFONT( ) включенные дополнительные шрифты, которые были действительно частью единственного семейства шрифта. Например, массив мог содержать следующие Arial шрифты для Visual FoxPro 7.0:

  • Arial

  • Arial Baltic

  • Arial Black

  • Arial CE

  • Arial CYR

  • Arial Greek

  • Arial Narrow

  • Arial Tur

Многие из этих шрифтов не включены в стандартное диалоговое окно Font Picker функции GETFONT( ). В этой версии Visual FoxPro, массив в AFONT( ) исключает эти дополнительные шрифты. Например, массив только включает следующие шрифты:

  • Arial

  • Arial Baltic

  • Arial Black

Пример

В следующем примере функция AFONT( ) создает массив, содержащий имена всех имеющихся шрифтов. Имя каждого шрифта выводится на экран вместе с образцом этого шрифта. Если в системе установлено более десяти шрифтов, на экране отображаются только первые десять.

  Copy Code
CLEAR
=AFONT(gaFontArray)  && Array containS font names.
gnNumFonts = ALEN(gaFontArray)  && Number of fonts
IF gnNumFonts > 10
   gnNumFonts = 10  && Display first 10 fonts.
ENDIF

FOR nCount = 1 TO gnNumFonts
   ? ALLTRIM(gaFontArray(nCount))  && Display font name.
   ?? '  This is an example of ' ;
      + ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8
ENDFOR

Смотреть также