desc:eel_windows_fonts
slider1:0<0,16,1{Gr00,Gr01,Gr02,Gr03,Gr04,Gr05,Gr06,Gr07,Gr08,Gr09,Gr10,Gr11,Gr12,Gr13,Gr14,Gr15,Gr16}>groupFont
slider2:0<0,16,1>fontPosition
slider3:0<0,8,1{withoutFlags, Italic, UnderLine, Italic+UnderLine, Bold, Italic+Bold, UnderLine+Bold, Italic+UnderLine+Bold}>Flags
@init
function win_fonts(idX, sizeFont, fontGroup, flags)
local(_flag _p _pos _len)
(
// Регистрируем строчную переменную, куда положим текст
STR_WIN_TEXT = 0;
//-------------------------------------------------------------
// Ложим текст в зарегистрированную переменную STR_WIN_TEXT,
// длина текста в строке не более 64kB
strcpy(STR_WIN_TEXT, //_pos _len
"Default Reaper Bitmap font" //0000-----026
//--------------------------------------------
"Academy Engraved LET" //0026-----020
"AdLib WGL 4BT" //0046-----013
"AlphabetSoup Tilt BT" //0059-----020
"Amazone BT" //0079-----010
"Archivo" //0089-----007
"Arial" //0096-----005
"Bahnschrift" //0101-----011
"BankGothic Md BT" //0112-----016
"BernhardTango BT" //0128-----016
"Blackletter686 BT" //0144-----017
"Brandish" //0161-----008
"Broadway BT" //0169-----011
"BroadwayEngraved BT" //0180-----019
"Brush455 BT" //0199-----011
"Calibri" //0210-----007
"Calligraph421 BT" //0217-----016
///-----------------------------------------
"Cambria" //0233-----007
"Cambria Math" //0240-----012
"Candara" //0252-----007
"CandyBits BT" //0259-----012
"Carmina Blk BT" //0271-----014
"CaslonOpnface BT" //0285-----016
"Cataneo BT" //0301-----010
"Century725 Blk BT" //0311-----017
"Chianti XBd BT" //0328-----014
"Comic Sans MS" //0342-----013
"Consolas" //0355-----008
"Constantia" //0363-----010
"Cooper BlkOul BT" //0373-----016
"Corbel" //0389-----006
"Courier New" //0395-----011
"Decorated035 BT" //0406-----015
//------------------------------------------
"DomBold BT" //0421-----010
"Ebrima" //0431-----006
"Eyeballs BT" //0437-----011
"Folio Lt BT" //0448-----011
"FontAwesome" //0459-----011
"Fraktur BT" //0470-----010
"FrankGoth BT" //0480-----012
"Franklin Gothic" //0492-----015
"Freehand591 BT" //0507-----014
"Futura LtCn BT" //0521-----014
"Futura Md BT" //0535-----012
"Futura XBlklt BT" //0547-----016
"FuturaBlack WGL4 BT" //0563-----019
"Gabriola" //0582-----008
"Gadugi" //0590-----006
"GENUINE" //0596-----007
//------------------------------------------
"Geometr212 Bk BT" //0603-----016
"Georgia" //0619-----007
"Geotype TT" //0626-----010
"HandelGothic BT" //0636-----015
"Highlight LET" //0651-----013
"HolidayPi BT" //0664-----012
"HoloLens MDL2 Assets" //0676-----020
"Humanst521 XBd BT" //0696-----017
"Impact" //0713-----006
"Incised901 Nd BT" //0719-----016
"Incised901 Ndlt BT" //0735-----018
"Ink Free" //0753-----008
"Javanese Text" //0761-----013
"John Handy LET" //0774-----014
"Jokerman LET" //0788-----012
"Kaufmann BT" //0800-----011
//------------------------------------------
"La Bamba LET" //0811-----012
"Leelawadee UI" //0823-----013
"Lucida Console" //0836-----014
"Lucida Sans Unicode" //0850-----019
"Malgun Gothic" //0869-----013
"Marlett" //0882-----007
"Martina" //0889-----007
"Material Icons" //0896-----014
"Mekanik LET" //0910-----011
"Microsoft Himalaya" //0921-----018
"Microsoft JhengHei" //0939-----018
"Microsoft JhengHei UI" //0957-----021
"Microsoft New Tai Lue" //0978-----021
"Microsoft PhagsPa" //0999-----017
"Microsoft Sans Serif" //1016-----020
"Microsoft Tai Le" //1036-----016
//------------------------------------------
"Microsoft YaHei" //1052-----015
"Microsoft YaHei UI" //1067-----018
"Microsoft Yi Baiti" //1085-----018
"Milano LET" //1103-----010
"MingLiU_HKSCS-ExtB" //1113-----018
"MingLiU-ExtB" //1131-----012
"MisterEarl BT" //1143-----013
"Mongolian Baiti" //1156-----015
"MS Gothic" //1171-----009
"MS PGothic" //1180-----010
"MS UI Gothic" //1190-----012
"MV Boli" //1202-----007
"Myanmar Text" //1209-----012
"NewspaperPi BT" //1221-----014
"Nirmala UI" //1235-----010
"Normande BT" //1245-----011
//------------------------------------------
"NSimSun" //1256-----007
"OCR-A BT" //1263-----008
"Odessa LET" //1271-----010
"OldDreadfulNo7 BT" //1281-----017
"One Stroke Script LET" //1298-----021
"Open Sans" //1319-----009
"Orange LET" //1328-----010
"Palatino Linotype" //1338-----017
"Parisian BT" //1355-----011
"ParkAvenue BT" //1366-----013
"PMingLiU-ExtB" //1379-----013
"PosterBodoni WGL4 BT" //1392-----020
"PrimaSans BT" //1412-----012
"Pump LET" //1424-----008
"Quixley LET" //1432-----011
"Rage LET" //1443-----008
//--------------------------------------------
//Ruach LET
);
//------------------------------------------------------------
// Условие для флагов параметра[flags] функции gfx_setfont
// Принцип: число в двоичной системе счисления
// Т.е. макисмум три символа = 3заполненных бита = 7;
// пустой символ = 0; символ i = 0бит(2^0) = 1;
// символ u = 1бит(2^1) = 2; символ b = 2бит(2^2) = 4;
// Остальные значения символов-производные от заполнения
// битов числа 7
// 3='iu'-->(1['i']+2['u'])
// 5='ib'-->(1['i']+4['b'])
// 6='ub'-->(2['u']+4['b'])
// 7='iub'->(1['i']+2['u']+4['b'])
//------------------------------------------------------------
// charVal 0=' ' (Empty BitField) = decNum = 0;
// charVal 1='i' (zeroBit) = decNum = 1;
// charVal 2='u' (firstBit) = decNum = 2;
// charVal 3='iu' (zeroBit+firstBit) = decNum = 3;
// charVal 4='b' (secondBit) = decNum = 4;
// charVal 5='ib' (zeroBit+secondBit) = decNum = 5;
// charVal 6='ub' (firstBit+secondBit) = decNum = 6;
// charVal 7='iub'(zeroBit+firstBit+seconddBit) = decNum = 7;
flags==00?_flag=' ' ; flags==01?_flag='i';
flags==02?_flag='u' ; flags==03?_flag='iu';
flags==04?_flag='b' ; flags==05?_flag='ib';
flags==06?_flag='ub'; flags==07?_flag='iub';
//------------------------------------------------------------
// Группы хранимых шрифтов(Одна группа = 17 шрифтов
// [ограничение функции gfx_setfont],0 позиция любой группы
// всегда шрифт по умолчанияю (Default Reaper Bitmap font)
//Group_0-----------------------------------------------------
// Условия для выполнения параметров среза для группы 0
// Множественный выбор: присваивание двух значений-
// [_pos-позиция начала среза в тексте]
// [_len-длина среза в символах]
// через выражение присваивания переменной _p
(idX==00)&&(fontGroup==0)?_p=(_pos=0000; _len=026;);
(idX==01)&&(fontGroup==0)?_p=(_pos=0026; _len=020;);
(idX==02)&&(fontGroup==0)?_p=(_pos=0046; _len=013;);
(idX==03)&&(fontGroup==0)?_p=(_pos=0059; _len=020;);
(idX==04)&&(fontGroup==0)?_p=(_pos=0079; _len=010;);
(idX==05)&&(fontGroup==0)?_p=(_pos=0089; _len=007;);
(idX==06)&&(fontGroup==0)?_p=(_pos=0096; _len=005;);
(idX==07)&&(fontGroup==0)?_p=(_pos=0101; _len=011;);
(idX==08)&&(fontGroup==0)?_p=(_pos=0112; _len=016;);
(idX==09)&&(fontGroup==0)?_p=(_pos=0128; _len=016;);
(idX==10)&&(fontGroup==0)?_p=(_pos=0144; _len=017;);
(idX==11)&&(fontGroup==0)?_p=(_pos=0161; _len=008;);
(idX==12)&&(fontGroup==0)?_p=(_pos=0169; _len=011;);
(idX==13)&&(fontGroup==0)?_p=(_pos=0180; _len=019;);
(idX==14)&&(fontGroup==0)?_p=(_pos=0199; _len=011;);
(idX==15)&&(fontGroup==0)?_p=(_pos=0210; _len=007;);
(idX==16)&&(fontGroup==0)?_p=(_pos=0217; _len=016;);
//Group_1---------------------------------------------------
// Условия для выполнения параметров среза для группы 1
(idX==00)&&(fontGroup==1)?_p=(_pos=0000; _len=026;);
(idX==01)&&(fontGroup==1)?_p=(_pos=0233; _len=007;);
(idX==02)&&(fontGroup==1)?_p=(_pos=0240; _len=012;);
(idX==03)&&(fontGroup==1)?_p=(_pos=0252; _len=007;);
(idX==04)&&(fontGroup==1)?_p=(_pos=0259; _len=012;);
(idX==05)&&(fontGroup==1)?_p=(_pos=0271; _len=014;);
(idX==06)&&(fontGroup==1)?_p=(_pos=0285; _len=016;);
(idX==07)&&(fontGroup==1)?_p=(_pos=0301; _len=010;);
(idX==08)&&(fontGroup==1)?_p=(_pos=0311; _len=017;);
(idX==09)&&(fontGroup==1)?_p=(_pos=0328; _len=014;);
(idX==10)&&(fontGroup==1)?_p=(_pos=0342; _len=013;);
(idX==11)&&(fontGroup==1)?_p=(_pos=0355; _len=008;);
(idX==12)&&(fontGroup==1)?_p=(_pos=0363; _len=010;);
(idX==13)&&(fontGroup==1)?_p=(_pos=0373; _len=016;);
(idX==14)&&(fontGroup==1)?_p=(_pos=0389; _len=006;);
(idX==15)&&(fontGroup==1)?_p=(_pos=0395; _len=011;);
(idX==16)&&(fontGroup==1)?_p=(_pos=0406; _len=015;);
//Group_2---------------------------------------------------
// Условия для выполнения параметров среза для группы 2
(idX==00)&&(fontGroup==2)?_p=(_pos=0000; _len=026;);
(idX==01)&&(fontGroup==2)?_p=(_pos=0421; _len=010;);
(idX==02)&&(fontGroup==2)?_p=(_pos=0431; _len=006;);
(idX==03)&&(fontGroup==2)?_p=(_pos=0437; _len=011;);
(idX==04)&&(fontGroup==2)?_p=(_pos=0448; _len=011;);
(idX==05)&&(fontGroup==2)?_p=(_pos=0459; _len=011;);
(idX==06)&&(fontGroup==2)?_p=(_pos=0470; _len=010;);
(idX==07)&&(fontGroup==2)?_p=(_pos=0480; _len=012;);
(idX==08)&&(fontGroup==2)?_p=(_pos=0492; _len=015;);
(idX==09)&&(fontGroup==2)?_p=(_pos=0507; _len=014;);
(idX==10)&&(fontGroup==2)?_p=(_pos=0521; _len=014;);
(idX==11)&&(fontGroup==2)?_p=(_pos=0535; _len=012;);
(idX==12)&&(fontGroup==2)?_p=(_pos=0547; _len=016;);
(idX==13)&&(fontGroup==2)?_p=(_pos=0563; _len=019;);
(idX==14)&&(fontGroup==2)?_p=(_pos=0582; _len=008;);
(idX==15)&&(fontGroup==2)?_p=(_pos=0590; _len=006;);
(idX==16)&&(fontGroup==2)?_p=(_pos=0596; _len=007;);
//Group_3---------------------------------------------------
// Условия для выполнения параметров среза для группы 3
(idX==00)&&(fontGroup==3)?_p=(_pos=0000; _len=026;);
(idX==01)&&(fontGroup==3)?_p=(_pos=0603; _len=016;);
(idX==02)&&(fontGroup==3)?_p=(_pos=0619; _len=007;);
(idX==03)&&(fontGroup==3)?_p=(_pos=0626; _len=010;);
(idX==04)&&(fontGroup==3)?_p=(_pos=0636; _len=015;);
(idX==05)&&(fontGroup==3)?_p=(_pos=0651; _len=013;);
(idX==06)&&(fontGroup==3)?_p=(_pos=0664; _len=012;);
(idX==07)&&(fontGroup==3)?_p=(_pos=0676; _len=020;);
(idX==08)&&(fontGroup==3)?_p=(_pos=0696; _len=017;);
(idX==09)&&(fontGroup==3)?_p=(_pos=0713; _len=006;);
(idX==10)&&(fontGroup==3)?_p=(_pos=0719; _len=016;);
(idX==11)&&(fontGroup==3)?_p=(_pos=0735; _len=018;);
(idX==12)&&(fontGroup==3)?_p=(_pos=0753; _len=008;);
(idX==13)&&(fontGroup==3)?_p=(_pos=0761; _len=013;);
(idX==14)&&(fontGroup==3)?_p=(_pos=0774; _len=014;);
(idX==15)&&(fontGroup==3)?_p=(_pos=0788; _len=012;);
(idX==16)&&(fontGroup==3)?_p=(_pos=0800; _len=011;);
//Group_4---------------------------------------------------
// Условия для выполнения параметров среза для группы 4
(idX==00)&&(fontGroup==4)?_p=(_pos=0000; _len=026;);
(idX==01)&&(fontGroup==4)?_p=(_pos=0811; _len=012;);
(idX==02)&&(fontGroup==4)?_p=(_pos=0823; _len=013;);
(idX==03)&&(fontGroup==4)?_p=(_pos=0836; _len=014;);
(idX==04)&&(fontGroup==4)?_p=(_pos=0850; _len=019;);
(idX==05)&&(fontGroup==4)?_p=(_pos=0869; _len=013;);
(idX==06)&&(fontGroup==4)?_p=(_pos=0882; _len=007;);
(idX==07)&&(fontGroup==4)?_p=(_pos=0889; _len=007;);
(idX==08)&&(fontGroup==4)?_p=(_pos=0896; _len=014;);
(idX==09)&&(fontGroup==4)?_p=(_pos=0910; _len=011;);
(idX==10)&&(fontGroup==4)?_p=(_pos=0921; _len=018;);
(idX==11)&&(fontGroup==4)?_p=(_pos=0939; _len=018;);
(idX==12)&&(fontGroup==4)?_p=(_pos=0957; _len=021;);
(idX==13)&&(fontGroup==4)?_p=(_pos=0978; _len=021;);
(idX==14)&&(fontGroup==4)?_p=(_pos=0999; _len=017;);
(idX==15)&&(fontGroup==4)?_p=(_pos=1016; _len=020;);
(idX==16)&&(fontGroup==4)?_p=(_pos=1036; _len=016;);
//Group_5---------------------------------------------------
// Условия для выполнения параметров среза для группы 5
(idX==00)&&(fontGroup==5)?_p=(_pos=0000; _len=026;);
(idX==01)&&(fontGroup==5)?_p=(_pos=1052; _len=015;);
(idX==02)&&(fontGroup==5)?_p=(_pos=1067; _len=018;);
(idX==03)&&(fontGroup==5)?_p=(_pos=1085; _len=018;);
(idX==04)&&(fontGroup==5)?_p=(_pos=1103; _len=010;);
(idX==05)&&(fontGroup==5)?_p=(_pos=1113; _len=018;);
(idX==06)&&(fontGroup==5)?_p=(_pos=1131; _len=012;);
(idX==07)&&(fontGroup==5)?_p=(_pos=1143; _len=013;);
(idX==08)&&(fontGroup==5)?_p=(_pos=1156; _len=015;);
(idX==09)&&(fontGroup==5)?_p=(_pos=1171; _len=009;);
(idX==10)&&(fontGroup==5)?_p=(_pos=1180; _len=010;);
(idX==11)&&(fontGroup==5)?_p=(_pos=1190; _len=012;);
(idX==12)&&(fontGroup==5)?_p=(_pos=1202; _len=007;);
(idX==13)&&(fontGroup==5)?_p=(_pos=1209; _len=012;);
(idX==14)&&(fontGroup==5)?_p=(_pos=1221; _len=014;);
(idX==15)&&(fontGroup==5)?_p=(_pos=1235; _len=010;);
(idX==16)&&(fontGroup==5)?_p=(_pos=1245; _len=011;);
//Group_6---------------------------------------------------
// Условия для выполнения параметров среза для группы 6
(idX==00)&&(fontGroup==6)?_p=(_pos=0000; _len=026;);
(idX==01)&&(fontGroup==6)?_p=(_pos=1256; _len=007;);
(idX==02)&&(fontGroup==6)?_p=(_pos=1263; _len=008;);
(idX==03)&&(fontGroup==6)?_p=(_pos=1271; _len=010;);
(idX==04)&&(fontGroup==6)?_p=(_pos=1281; _len=017;);
(idX==05)&&(fontGroup==6)?_p=(_pos=1298; _len=021;);
(idX==06)&&(fontGroup==6)?_p=(_pos=1319; _len=009;);
(idX==07)&&(fontGroup==6)?_p=(_pos=1328; _len=010;);
(idX==08)&&(fontGroup==6)?_p=(_pos=1338; _len=017;);
(idX==09)&&(fontGroup==6)?_p=(_pos=1355; _len=011;);
(idX==10)&&(fontGroup==6)?_p=(_pos=1366; _len=013;);
(idX==11)&&(fontGroup==6)?_p=(_pos=1379; _len=013;);
(idX==12)&&(fontGroup==6)?_p=(_pos=1392; _len=020;);
(idX==13)&&(fontGroup==6)?_p=(_pos=1412; _len=012;);
(idX==14)&&(fontGroup==6)?_p=(_pos=1424; _len=008;);
(idX==15)&&(fontGroup==6)?_p=(_pos=1432; _len=011;);
(idX==16)&&(fontGroup==6)?_p=(_pos=1443; _len=008;);
//Group_7---------------------------------------------------
// (Для визуального контроля в дебагвью на перебор
// длины строки)
// Длина текста <= 64000 ascii символов[asciiCharLen=1byte]
// в строчной переменной STR_WIN_TEXT
// переменная _strLen - количество символов
// в строчной переменной STR_WIN_TEXT
_strLen = strlen(STR_WIN_TEXT);
// Берем срез с текста(копирование в подстроку)
// с заданными параметрами и ложим в
// именованную строку #FontName(для принта в
// секцию графики и визуального контроля правильности
// имени шрифта в дебагвью)
strcpy_substr(#FontName, STR_WIN_TEXT, _pos, _len );
// Результат среза ложим в параметр функции gfx_setfont
gfx_setfont(idX, #FontName, sizeFont, _flag);
);
@gfx 300 300
gfx_r=1;gfx_g=1;gfx_b=.7;gfx_a=1;gfx_x=10;gfx_y=50;
/////////////////////////
win_fonts(slider2, 90, slider1, slider3);
/////////////////////////
gfx_printf(" Hello RMM site Users" /*" Привет Мир"*/);
gfx_r=1;gfx_g=1;gfx_b=1;gfx_a=.7;gfx_x=10;gfx_y=250;
gfx_setfont(01, "Arial", 20);
gfx_printf("fontName-%s",#FontName);