Program for Research 1681 graphic fonts
Posted: Mon Jul 14, 2014 8:16 pm
Does anyone have a program for easy viewing of all possible (available) graphic fonts? Yet their 1681 and it is difficult to view them all recasting primitive program like this, which I did:
[/size]
Code: Select all
****** Исследование графических шрифтов
****** Инициализация графического шрифта
aFonts := XbpFont():new():list() // Все доступные шрифты
* oFont := XbpFont():new():create("48.Helvetica") // Конкретный шрифт с указанием размера
* oFont := aFonts[1] // Конкретный шрифт по номеру из списка (всего доступно 1681 графических шрифтов)
* GraSetFont(oPS , oFont) // установить шрифт
oFont := aFonts[1]
GraSetFont(oPS , oFont) // установить шрифт
aAttrF := ARRAY( GRA_AS_COUNT )
aAttrF [ GRA_AS_COLOR ] := GRA_CLR_BLACK
aAttrF [ GRA_AS_BOX ] := { 2*R0, R0 } // Размер поля вывода
aAttrF [ GRA_AS_HORIZALIGN ] := GRA_HALIGN_CENTER // Выравнивание символов по горизонтали по центру относительно точки начала вывода
aAttrF [ GRA_AS_VERTALIGN ] := GRA_VALIGN_HALF // Выравнивание символов по вертикали по средней линии относительно точки начала вывода
GraSetAttrString( oPS, aAttrF )
GraStringAt( oPS, { 200, 10 }, "Всего шрифтов:"+ALLTRIM(STR(LEN(aFonts),15)) )
FOR j=1 TO LEN(aFonts) // Цикл по шрифтам
oFont := aFonts[j]
GraSetFont(oPS , oFont) // установить шрифт
aAttrF := ARRAY( GRA_AS_COUNT )
aAttrF [ GRA_AS_COLOR ] := GRA_CLR_BLACK
aAttrF [ GRA_AS_BOX ] := { 2*R0, R0 } // Размер поля вывода
aAttrF [ GRA_AS_HORIZALIGN ] := GRA_HALIGN_CENTER // Выравнивание символов по горизонтали по центру относительно точки начала вывода
aAttrF [ GRA_AS_VERTALIGN ] := GRA_VALIGN_HALF // Выравнивание символов по вертикали по средней линии относительно точки начала вывода
GraSetAttrString( oPS, aAttrF ) // Установить символьные атрибуты
GraStringAt( oPS, { 200, 20+j*20 }, "Шрифт №"+ALLTRIM(STR(j,15))+IF(oFont:vector,"-векторный","") )
NEXT
*** Конец исследования шрифтов