XVilka wrote:
Мне кажется, функции freetype сильно заточены под freetype. Например, типы данных. Нафига столько?
Quote:
FT_Byte FT_Offset FT_UnitVector
FT_Bytes FT_PtrDist FT_F26Dot6
FT_Char FT_String FT_Pixel_Mode
FT_Int FT_Tag ft_pixel_mode_xxx
FT_UInt FT_Error FT_Palette_Mode
FT_Int16 FT_Fixed FT_Bitmap
FT_UInt16 FT_Pointer FT_IMAGE_TAG
FT_Int32 FT_Pos FT_Glyph_Format
FT_UInt32 FT_Vector ft_glyph_format_xxx
FT_Short FT_BBox FT_Data
FT_UShort FT_Matrix FT_Generic_Finalizer
FT_Long FT_FWord FT_Generic
FT_ULong FT_UFWord FT_MAKE_TAG
FT_Bool FT_F2Dot14
А ведь эти типы использует большая часть из функций (базовых, так сказать):
Quote:
FT_Library FT_IS_TRICKY FT_Load_Char
FT_Face FT_STYLE_FLAG_XXX FT_LOAD_XXX
FT_Size FT_Size_Internal FT_LOAD_TARGET_XXX
FT_GlyphSlot FT_Size_Metrics FT_LOAD_TARGET_MODE
FT_CharMap FT_SizeRec FT_Set_Transform
FT_Encoding FT_SubGlyph FT_Render_Mode
FT_Glyph_Metrics FT_Slot_Internal ft_render_mode_xxx
FT_Bitmap_Size FT_GlyphSlotRec FT_Render_Glyph
FT_Module FT_Init_FreeType FT_Kerning_Mode
FT_Driver FT_Done_FreeType ft_kerning_default
FT_Renderer FT_OPEN_XXX ft_kerning_unfitted
FT_ENC_TAG FT_Parameter ft_kerning_unscaled
ft_encoding_xxx FT_Open_Args FT_Get_Kerning
FT_CharMapRec FT_New_Face FT_Get_Track_Kerning
FT_Face_Internal FT_New_Memory_Face FT_Get_Glyph_Name
FT_FaceRec FT_Open_Face FT_Get_Postscript_Name
FT_FACE_FLAG_XXX FT_Attach_File FT_Select_Charmap
FT_HAS_HORIZONTAL FT_Attach_Stream FT_Set_Charmap
FT_HAS_VERTICAL FT_Reference_Face FT_Get_Charmap_Index
FT_HAS_KERNING FT_Done_Face FT_Get_Char_Index
FT_IS_SCALABLE FT_Select_Size FT_Get_First_Char
FT_IS_SFNT FT_Size_Request_Type FT_Get_Next_Char
FT_IS_FIXED_WIDTH FT_Size_RequestRec FT_Get_Name_Index
FT_HAS_FIXED_SIZES FT_Size_Request FT_SUBGLYPH_FLAG_XXX
FT_HAS_FAST_GLYPHS FT_Request_Size FT_Get_SubGlyph_Info
FT_HAS_GLYPH_NAMES FT_Set_Char_Size FT_FSTYPE_XXX
FT_HAS_MULTIPLE_MASTERS FT_Set_Pixel_Sizes FT_Get_FSType_Flags
FT_IS_CID_KEYED FT_Load_Glyph
То есть делать подмножество freetype не выйдет - передаваемые функциям параметры вряд ли совпадут. Нужны свои функции, пусть и аналогичные фритайповским. Мне например нравится их идея с CharMap, Metrics, Encoding...