Dependency Analysis

Frank Yung-Fong Tang <ftang@netscape.com>

Introduction:

We need to figure the dependency between FreeType2, XFT, Pango, GDK, GTK, Qt, STSF, and ICU Layout.

Xft

Command the get the analysis:
in fcpackage.2_1/Xft
xftfreetype.c
xftglyphs.c
FT_Done_Face()
FT_New_Face()
FT_Set_Char_Size()
FT_Matrix_Equal()
FT_Set_Transform()
FT_Vector_Transform()
FT_Init_FreeType()

FT_Load_Glyph()
FT_Outline_Transform()
FT_Outline_Trnaslate()
FT_Outline_Get_Bitmap()
FT_Vector_Transform()

Pango

Command the get the analysis:
in pango-1.1.6\pango
The result is summarize in the following table. The function name with bold is the one which deal with text measurement and drawing/rendering.

FreeType Dependency
Font Config Dependency
Xft Dependency
Data Type:
FT_Library
FT_Error
FT_Face
FT_Bitmap
FT_Glyph_Metrics
FT_Vector
?
XftFont
XftColor
XftDraw
XftGlyphSpec
XftCharSpec

pangoft2-fontmap.c
FT_Init_FreeType()
FT_Done_FreeType()
FcConfigSubstitute()
FcDefaultSubstitute()
FcPatternGet()
FcPatternAddDouble()

pangofc-fontmap.cI

(This file is included by both pangoxft-fontmap.c and pangoft2-fontmap.c
after making appropriate #defines for public symbols.)

FcCharSetFirstPage()
FcCharSetNextPage()
FcFontList()
FcFontMatch()
FcFontRenderPrepare
FcFontSetDestroy()
FcFontSetSortDestroy()
FcFontSort()
FcObjectSetBuild()
FcObjectSetDestroy()
FcPatternAddString()
FcPatternBuild()
FcPatternCreate()
FcPatternDel()
FcPatternDestroy()
FcPatternEuqal()
FcPatternGetCharSet()
FcPatternGetDouble()
FcPatternGetInteger()
FcPatternGetString()
FcPatternReference()

pangoft2.c
(Routines for handling FreeType2 fonts)
FT_Set_Charmap()
FT_New_Face()
FT_Done_Face()
FT_Load_Glyph()
FT_Render_Glyph()
FT_HAS_KERNING()
FT_Get_Kerning()
FcFontMatch()
FcPatternBuild()
FcPatternGetBool()
FcPatternGetDouble()
FcPatternGetString()
FcPatternGetInterger()
FcPatternDestory()

pangoxft-font.c
(Routines for handling X fonts)

FcPatternDestory()
FcPatternDuplicate()
XftCharIndex()
XftCharExists()
XftCharSpecRender()
XftDrawRect()
XftDrawGlyphSpec()
XftDrawCharSpec()
XftFontClose()
XftFontOpen()
XftFontOpenPattern()
XftGlyphExtents()
XftGlyphSpecRender()
XftLockFace()
XftUnlockFace()
XftTextExtents8()

pangoxft-fontmap.c
(Xft font handling)
FT_Set_Charmap()
FcConfigSubstitute()
XftFontClose()
XftDefaultSubstitute()


GDK


[TBW]

GTK

[TBW]

STSF



FreeType1
FreeType2
ICU Layout
Data Types
TT_Engine
TT_Face
TT_Instance
TT_UShort
TT_Matrix
TT_Glyph
TT_Byte
TT_F26Dot6
TT_Fixed
TT_Outline
TT_Raster_Map
TT_Big_Glyph_Metrics
TT_BBox
FT_Library
FT_Face
FT_Matrix
FT_Int
FT_Render_Mode
FT_GlyphSlot
FT_Glyph_Metrics
FT_Bitmap
FT_Vector
FT_Glyph
FT_Pos
FT_GlyphSlotRec
FT_BitmapGlyph
FT_GlyphRec

?
Functions
TT_Close_Face()
TT_Done_FreeType()
TT_Init_FreeType()
TT_Open_Collection()
TT_New_Instance()
TT_New_Glyph()
TT_Set_Instance_Resolutions()
TT_Set_Raster_Gray_Palette()
TT_Set_Instance_CharSizes()
TT_Set_Instance_Transform_Flags()
TT_Load_Glyph()
TT_Get_Glyph_Big_Metrics()
TT_Get_Glyph_Outline()
TT_Transform_Outline()
TT_Get_Outline_BBox()
TT_Translate_Outline()
TT_Get_Outline_Pixmap()
TT_Get_Outline_Bitmap()
FT_Done_Face()
FT_Done_FreeType()
FT_Init_FreeType()
FT_New_Face()
FT_Set_Pixel_Sizes()
FT_Set_Transform()
FT_Load_Glyph()
FT_Render_Glyph()
FT_Get_Glyph()
FT_Glyph_To_Bitmap()
FT_Glyph_Transform()
FT_Done_Glyph()

?