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)
|