/// <summary> /// Initialize a FreeTypeFaceFacade instance with font data. /// </summary> public FreeTypeFaceFacade(FreeTypeLibrary library, IntPtr fontData, int dataLength, int faceIndex = 0) { _Library = library; var err = FT.FT_New_Memory_Face(_Library.Native, fontData, dataLength, faceIndex, out _Face); if (err != FT_Error.FT_Err_Ok) { throw new FreeTypeException(err); } _FaceRec = (FT_FaceRec *)_Face; }
public unsafe FreeType(string path) { if (instance == null) { instance = this; } FT_Init_FreeType(out _library); FT_New_Face(_library, path, 0, out _face); SetPixelSize(0, 48); //FT_Set_Char_Size(_face, (IntPtr)0, (IntPtr)(16*64), 800 ,600); //_faceRec = Marshal.PtrToStructure<FT_FaceRec>(_face); _faceRec = (FT_FaceRec *)(void *)_face; }
private int GetFixedSizeInPixels(FT_FaceRec *face, int ix) { return(face->available_sizes[ix].height); }
/// <summary> /// Initialize a FreeTypeFaceFacade instance with a pointer to the Face instance. /// </summary> public FreeTypeFaceFacade(FreeTypeLibrary library, IntPtr face) { _Library = library; _Face = face; _FaceRec = (FT_FaceRec *)_Face; }