/// <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;
        }
Beispiel #2
0
        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;
 }