BlitzMax does not have a way of defining embedded arrays such as the square bracket arrays in Blitz3D, so if this is the C code:
you need to use something like the following with varptr lfFaceName0 being the address of the string
and to set the name:
typedef struct tagLOGFONTA { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; CHAR lfFaceName[ 32 ]; } LOGFONTA;
you need to use something like the following with varptr lfFaceName0 being the address of the string
Type TLogFont Field lfHeight Field lfWidth Field lfEscapement Field lfOrientation Field lfWeight Field lfItalic:Byte Field lfUnderline:Byte Field lfStrikeOut:Byte Field lfCharSet:Byte Field lfOutPrecision:Byte Field lfClipPrecision:Byte Field lfQuality:Byte Field lfPitchAndFamily:Byte Field lfFaceName0:Byte Field lfFaceName1:Byte Field lfFaceName2:Byte Field lfFaceName3:Byte Field lfFaceName4:Byte Field lfFaceName5:Byte Field lfFaceName6:Byte Field lfFaceName7:Byte Field lfFaceName8:Byte Field lfFaceName9:Byte Field lfFaceName10:Byte Field lfFaceName11:Byte Field lfFaceName12:Byte Field lfFaceName13:Byte Field lfFaceName14:Byte Field lfFaceName15:Byte Field lfFaceName16:Byte Field lfFaceName17:Byte Field lfFaceName18:Byte Field lfFaceName19:Byte Field lfFaceName20:Byte Field lfFaceName21:Byte Field lfFaceName22:Byte Field lfFaceName23:Byte Field lfFaceName24:Byte Field lfFaceName25:Byte Field lfFaceName26:Byte Field lfFaceName27:Byte Field lfFaceName28:Byte Field lfFaceName29:Byte Field lfFaceName30:Byte Field lfFaceName31:Byte End Type
and to set the name:
lf:TLogFont=New TLogFont a$="hello" MemCopy Varptr lf.lfFaceName0,a,a.length Print lf.lfFaceName0 Print lf.lfFaceName1 Print lf.lfFaceName2 Print lf.lfFaceName3 Print lf.lfFaceName4 Print lf.lfFaceName5