100 lines
2.5 KiB
Cython
100 lines
2.5 KiB
Cython
from freetype cimport *
|
|
|
|
cdef extern from "stdint.h":
|
|
ctypedef signed short int16_t
|
|
ctypedef unsigned short uint16_t
|
|
ctypedef signed long int32_t
|
|
ctypedef unsigned long uint32_t
|
|
|
|
cdef extern from "ttgsubtable.h":
|
|
|
|
ctypedef struct tt_gsub_header:
|
|
uint32_t Version
|
|
uint16_t ScriptList
|
|
uint16_t FeatureList
|
|
uint16_t LookupList
|
|
|
|
ctypedef struct TLangSys:
|
|
uint16_t LookupOrder
|
|
uint16_t ReqFeatureIndex
|
|
uint16_t FeatureCount
|
|
uint16_t *FeatureIndex
|
|
|
|
ctypedef struct TLangSysRecord:
|
|
uint32_t LangSysTag
|
|
TLangSys LangSys
|
|
|
|
ctypedef struct TScript:
|
|
uint16_t DefaultLangSys
|
|
uint16_t LangSysCount
|
|
TLangSysRecord *LangSysRecord
|
|
|
|
ctypedef struct TScriptRecord:
|
|
uint32_t ScriptTag
|
|
TScript Script
|
|
|
|
ctypedef struct TScriptList:
|
|
uint16_t ScriptCount
|
|
TScriptRecord *ScriptRecord
|
|
|
|
ctypedef struct TFeature:
|
|
uint16_t FeatureParams
|
|
int LookupCount
|
|
uint16_t *LookupListIndex
|
|
|
|
ctypedef struct TFeatureRecord:
|
|
uint32_t FeatureTag
|
|
TFeature Feature
|
|
|
|
ctypedef struct TFeatureList:
|
|
int FeatureCount
|
|
TFeatureRecord *FeatureRecord
|
|
|
|
ctypedef struct TRangeRecord:
|
|
uint16_t Start
|
|
uint16_t End
|
|
uint16_t StartCoverageIndex
|
|
|
|
ctypedef struct TCoverageFormat:
|
|
uint16_t CoverageFormat
|
|
uint16_t GlyphCount
|
|
uint16_t *GlyphArray
|
|
uint16_t RangeCount
|
|
TRangeRecord *RangeRecord
|
|
|
|
ctypedef struct TSingleSubstFormat:
|
|
uint16_t SubstFormat
|
|
TCoverageFormat Coverage
|
|
int16_t DeltaGlyphID
|
|
uint16_t GlyphCount
|
|
uint16_t *Substitute
|
|
|
|
ctypedef struct TLookup:
|
|
uint16_t LookupType
|
|
uint16_t LookupFlag
|
|
uint16_t SubTableCount
|
|
TSingleSubstFormat *SubTable
|
|
|
|
ctypedef struct TLookupList:
|
|
int LookupCount
|
|
TLookup *Lookup
|
|
|
|
ctypedef struct TTGSUBTable:
|
|
int loaded
|
|
tt_gsub_header header
|
|
TScriptList ScriptList
|
|
TFeatureList FeatureList
|
|
TLookupList LookupList
|
|
|
|
ctypedef struct TTGSUBTable:
|
|
int loaded
|
|
tt_gsub_header header
|
|
TScriptList ScriptList
|
|
TFeatureList FeatureList
|
|
TLookupList LookupList
|
|
|
|
void LoadGSUBTable(TTGSUBTable *table, FT_Face face)
|
|
int GetVerticalGlyph(TTGSUBTable *table, uint32_t glyphnum, uint32_t *vglyphnum)
|
|
void init_gsubtable(TTGSUBTable *table)
|
|
void free_gsubtable(TTGSUBTable *table)
|