w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

tottfaat.c File Reference
#include "fontforge.h"
#include <utype.h>
#include "ttf.h"
Include dependency graph for tottfaat.c:

Go to the source code of this file.

Classes

struct  kerncounts
 
struct  feature
 
struct  transition
 
struct  trans_entries
 

Functions

static void DumpKernClass (FILE *file, uint16 *class, int cnt, int add, int mul)
 
static int morx_dumpASM (FILE *temp, ASM *sm, struct alltabs *at, SplineFont *sf)
 
static int CountKerns (struct alltabs *at, SplineFont *sf, struct kerncounts *kcnt)
 
static void ttf_dumpsfkerns (struct alltabs *at, SplineFont *sf, int tupleIndex, int version)
 
void ttf_dumpkerns (struct alltabs *at, SplineFont *sf)
 
static PSThaslcaret (SplineChar *sc)
 
void aat_dumplcar (struct alltabs *at, SplineFont *sf)
 
static struct featurefeatureFromSubtable (SplineFont *sf, struct lookup_subtable *sub)
 
static int PSTHasTag (PST *pst, uint32 tag)
 
static void morxfeaturesfree (struct feature *features)
 
static void mort_classes (FILE *temp, SplineFont *sf, struct glyphinfo *gi)
 
static void morx_lookupmap (FILE *temp, SplineChar **glyphs, uint16 *maps, int gcnt)
 
static void morx_dumpSubsFeature (FILE *temp, SplineChar **glyphs, uint16 *maps, int gcnt)
 
static struct featureaat_dumpmorx_substitutions (struct alltabs *at, SplineFont *sf, FILE *temp, struct feature *features, struct lookup_subtable *sub)
 
static LigListLigListMatchSubtable (SplineFont *sf, LigList *ligs, struct lookup_subtable *sub)
 
static int IsMarkChar (SplineChar *sc)
 
static void morx_dumpLigaFeature (FILE *temp, SplineChar **glyphs, int gcnt, struct lookup_subtable *sub, struct alltabs *at, SplineFont *sf, int ignoremarks)
 
static struct featureaat_dumpmorx_ligatures (struct alltabs *at, SplineFont *sf, FILE *temp, struct feature *features, struct lookup_subtable *sub)
 
static void morx_dumpnestedsubs (FILE *temp, SplineFont *sf, OTLookup *otl, struct glyphinfo *gi)
 
static uint16NamesToGlyphs (SplineFont *sf, char *names, uint16 *cnt)
 
static struct featureaat_dumpmorx_asm (struct alltabs *at, SplineFont *sf, FILE *temp, struct feature *features, ASM *sm)
 
static struct featureaat_dumpmorx_cvtopentype (struct alltabs *at, SplineFont *sf, FILE *temp, struct feature *features, struct lookup_subtable *sub)
 
static int IsOtfArabicFormFeature (OTLookup *otl)
 
static int HasCursiveConnectionSM (SplineFont *sf)
 
static uint32FormedScripts (SplineFont *sf)
 
int Macable (SplineFont *sf, OTLookup *otl)
 
static struct featureaat_dumpmorx_cvtopentypeforms (struct alltabs *at, SplineFont *sf, FILE *temp, struct feature *features)
 
static struct featurefeaturesReverse (struct feature *features)
 
static struct featurefeaturesOrderByType (struct feature *features)
 
static struct featureAddExclusiveNoops (SplineFont *sf, struct feature *features)
 
static void SetExclusiveOffs (struct feature *features)
 
static void aat_dumpfeat (struct alltabs *at, SplineFont *sf, struct feature *feature)
 
static int featuresAssignFlagsChains (struct feature *features, struct feature *feature_by_type)
 
static void morxDumpChain (struct alltabs *at, struct feature *features, struct feature *features_by_type, int chain, FILE *temp)
 
void aat_dumpmorx (struct alltabs *at, SplineFont *sf)
 
int haslrbounds (SplineChar *sc, PST **left, PST **right)
 
void aat_dumpopbd (struct alltabs *at, SplineFont *_sf)
 
uint16props_array (SplineFont *sf, struct glyphinfo *gi)
 
void aat_dumpprop (struct alltabs *at, SplineFont *sf)
 
static int BslnFromTag (uint32 tag)
 
int16PerGlyphDefBaseline (SplineFont *sf, int *def_baseline)
 
void FigureBaseOffsets (SplineFont *sf, int def_bsln, int offsets[32])
 
void aat_dumpbsln (struct alltabs *at, SplineFont *sf)
 
int OTTagToMacFeature (uint32 tag, int *featureType, int *featureSetting)
 
static struct featurefeatureFromTag (SplineFont *sf, uint32 tag)
 
int scriptsHaveDefault (struct scriptlanglist *sl)
 
int LookupHasDefault (OTLookup *otl)
 

Function Documentation

◆ aat_dumpbsln()

◆ aat_dumpfeat()

◆ aat_dumplcar()

◆ aat_dumpmorx()

◆ aat_dumpmorx_asm()

static struct feature* aat_dumpmorx_asm ( struct alltabs at,
SplineFont sf,
FILE temp,
struct feature features,
ASM sm 
)
static

◆ aat_dumpmorx_cvtopentype()

static struct feature* aat_dumpmorx_cvtopentype ( struct alltabs at,
SplineFont sf,
FILE temp,
struct feature features,
struct lookup_subtable sub 
)
static

Definition at line 1328 of file tottfaat.c.

References aat_dumpmorx_asm(), ASMFree(), ASMFromFPST(), features, FPSTisMacable(), NULL, sub, and temp.

Referenced by aat_dumpmorx().

◆ aat_dumpmorx_cvtopentypeforms()

◆ aat_dumpmorx_ligatures()

◆ aat_dumpmorx_substitutions()

◆ aat_dumpopbd()

void aat_dumpopbd ( struct alltabs at,
SplineFont _sf 
)

◆ aat_dumpprop()

void aat_dumpprop ( struct alltabs at,
SplineFont sf 
)

◆ AddExclusiveNoops()

static struct feature* AddExclusiveNoops ( SplineFont sf,
struct feature features 
)
static

Definition at line 1513 of file tottfaat.c.

References chunkalloc, def, f, features, FindMacSetting(), n, t::next, NULL, p, and t.

Referenced by aat_dumpmorx().

◆ BslnFromTag()

static int BslnFromTag ( uint32  tag)
static

Definition at line 2232 of file tottfaat.c.

References CHR.

Referenced by FigureBaseOffsets(), and PerGlyphDefBaseline().

◆ CountKerns()

◆ DumpKernClass()

static void DumpKernClass ( FILE file,
uint16 class,
int  cnt,
int  add,
int  mul 
)
static

Definition at line 46 of file tottfaat.c.

References add, cnt, first, i, last, and putshort().

Referenced by ttf_dumpsfkerns().

◆ featureFromSubtable()

◆ featureFromTag()

static struct feature* featureFromTag ( SplineFont sf,
uint32  tag 
)
static

Definition at line 2447 of file tottfaat.c.

References CHR, chunkalloc, feat, FindMacFeature(), FindMacSetting(), NULL, and OTTagToMacFeature().

Referenced by featureFromSubtable().

◆ featuresAssignFlagsChains()

static int featuresAssignFlagsChains ( struct feature features,
struct feature feature_by_type 
)
static

Definition at line 1691 of file tottfaat.c.

References chain, cnt, f, fcnt, features, i, n, NULL, fc-lang::off, and p.

Referenced by aat_dumpmorx().

◆ featuresOrderByType()

static struct feature* featuresOrderByType ( struct feature features)
static

Definition at line 1486 of file tottfaat.c.

References cnt, f, features, feature::featureSetting, feature::featureType, free, i, j, malloc, feature::nexttype, and NULL.

Referenced by aat_dumpmorx().

◆ featuresReverse()

static struct feature* featuresReverse ( struct feature features)
static

Definition at line 1473 of file tottfaat.c.

References features, n, NULL, and p.

Referenced by aat_dumpmorx().

◆ FigureBaseOffsets()

void FigureBaseOffsets ( SplineFont sf,
int  def_bsln,
int  offsets[32] 
)

Definition at line 2310 of file tottfaat.c.

References base, basescript::baseline_pos, BslnFromTag(), i, and memset().

Referenced by aat_dumpbsln().

◆ FormedScripts()

◆ HasCursiveConnectionSM()

◆ haslcaret()

static PST* haslcaret ( SplineChar sc)
static

◆ haslrbounds()

int haslrbounds ( SplineChar sc,
PST **  left,
PST **  right 
)

Definition at line 1969 of file tottfaat.c.

References CHR, generic_pst::next, NULL, pst_position, PSTHasTag(), right, sc, and generic_pst::type.

Referenced by aat_dumpopbd().

◆ IsMarkChar()

static int IsMarkChar ( SplineChar sc)
static

Definition at line 699 of file tottfaat.c.

References ap, at_basemark, at_centry, at_cexit, at_mark, NULL, and sc.

Referenced by morx_dumpLigaFeature().

◆ IsOtfArabicFormFeature()

◆ LigListMatchSubtable()

static LigList* LigListMatchSubtable ( SplineFont sf,
LigList ligs,
struct lookup_subtable sub 
)
static

Definition at line 689 of file tottfaat.c.

References cutout::l, NULL, and sub.

Referenced by aat_dumpmorx_ligatures().

◆ LookupHasDefault()

◆ Macable()

◆ mort_classes()

static void mort_classes ( FILE temp,
SplineFont sf,
struct glyphinfo gi 
)
static

Definition at line 556 of file tottfaat.c.

References glyphinfo::bygid, cnt, first, glyphinfo::gcnt, i, last, putc, putshort(), and temp.

Referenced by morx_dumpASM().

◆ morx_dumpASM()

◆ morx_dumpLigaFeature()

◆ morx_dumpnestedsubs()

◆ morx_dumpSubsFeature()

static void morx_dumpSubsFeature ( FILE temp,
SplineChar **  glyphs,
uint16 maps,
int  gcnt 
)
static

Definition at line 632 of file tottfaat.c.

References glyphs(), morx_lookupmap(), and temp.

Referenced by aat_dumpmorx_substitutions().

◆ morx_lookupmap()

static void morx_lookupmap ( FILE temp,
SplineChar **  glyphs,
uint16 maps,
int  gcnt 
)
static

◆ morxDumpChain()

static void morxDumpChain ( struct alltabs at,
struct feature features,
struct feature features_by_type,
int  chain,
FILE temp 
)
static

◆ morxfeaturesfree()

static void morxfeaturesfree ( struct feature features)
static

Definition at line 547 of file tottfaat.c.

References chunkfree, features, n, and NULL.

Referenced by aat_dumpmorx().

◆ NamesToGlyphs()

static uint16* NamesToGlyphs ( SplineFont sf,
char *  names,
uint16 cnt 
)
static

Definition at line 1015 of file tottfaat.c.

References c, ch, cnt, malloc, fc-lang::names, NULL, pt, ret, sc, SFGetChar(), and start.

Referenced by morx_dumpASM().

◆ OTTagToMacFeature()

◆ PerGlyphDefBaseline()

int16* PerGlyphDefBaseline ( SplineFont sf,
int def_baseline 
)

◆ props_array()

◆ PSTHasTag()

◆ scriptsHaveDefault()

◆ SetExclusiveOffs()

static void SetExclusiveOffs ( struct feature features)
static

Definition at line 1555 of file tottfaat.c.

References f, features, n, NULL, and feature::offFlags.

Referenced by aat_dumpmorx().

◆ ttf_dumpkerns()

◆ ttf_dumpsfkerns()