1 #ifndef FONTFORGE_SCSTYLES_H
2 #define FONTFORGE_SCSTYLES_H
3 
4 #include "baseviews.h"
5 #include "splinefont.h"
6 
7 // TODO: move structsmallcaps here from baseviews.h
8 
9 struct xheightinfo {
10 	double xheight_current, xheight_desired;
11 	double serif_height;
12 };
13 
14 extern double SFSerifHeight(SplineFont *sf);
15 extern double SFStdVW(SplineFont *sf);
16 extern SplineSet *SSControlStems(SplineSet *ss, double stemwidthscale, double stemheightscale, double hscale, double vscale, double xheight);
17 extern void ChangeXHeight(FontViewBase *fv, CharViewBase *cv, struct xheightinfo *xi);
18 extern void CI_Init(struct counterinfo *ci, SplineFont *sf);
19 extern void CVEmbolden(CharViewBase *cv, enum embolden_type type, struct lcg_zones *zones);
20 extern void ChangeGlyph(SplineChar *sc_sc, SplineChar *orig_sc, int layer,
21                         struct genericchange *genchange);
22 extern void CVGenericChange(CharViewBase *cv, struct genericchange *genchange);
23 extern void FVAddSmallCaps(FontViewBase *fv, struct genericchange *genchange);
24 extern void FVCondenseExtend(FontViewBase *fv, struct counterinfo *ci);
25 extern void FVEmbolden(FontViewBase *fv, enum embolden_type type, struct lcg_zones *zones);
26 extern void FVGenericChange(FontViewBase *fv, struct genericchange *genchange);
27 extern void InitXHeightInfo(SplineFont *sf, int layer, struct xheightinfo *xi);
28 extern void MakeItalic(FontViewBase *fv, CharViewBase *cv, ItalicInfo *ii);
29 extern void SCCondenseExtend(struct counterinfo *ci, SplineChar *sc, int layer, int do_undoes);
30 extern void ScriptSCCondenseExtend(SplineChar *sc, struct counterinfo *ci);
31 extern void ScriptSCEmbolden(SplineChar *sc, int layer, enum embolden_type type, struct lcg_zones *zones);
32 extern void SmallCapsFindConstants(struct smallcaps *small, SplineFont *sf, int layer);
33 
34 #endif /* FONTFORGE_SCSTYLES_H */
35