diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/baseviews.h')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/baseviews.h | 541 |
1 files changed, 0 insertions, 541 deletions
diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/baseviews.h b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/baseviews.h deleted file mode 100644 index 530542634b0..00000000000 --- a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/baseviews.h +++ /dev/null @@ -1,541 +0,0 @@ -/* Copyright (C) 2000-2008 by George Williams */ -/* - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - - * The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -#ifndef _BASEVIEWS_H -#define _BASEVIEWS_H - -/* cross-compiler woes */ -#if defined (small) -#undef small -#endif - -#include "splinefont.h" - -enum widthtype { wt_width, wt_lbearing, wt_rbearing, wt_vwidth }; - -enum fvtrans_flags { fvt_dobackground=1, fvt_round_to_int=2, - fvt_dontsetwidth=4, fvt_dontmovewidth=8, fvt_scalekernclasses=0x10, - fvt_scalepstpos=0x20, fvt_dogrid=0x40, fvt_partialreftrans=0x80 }; - -typedef struct drect { - real x, y; - real width, height; -} DRect; - -/* Note: These are ordered as they are displayed in the tools palette */ -enum cvtools { cvt_pointer, cvt_magnify, - cvt_freehand, cvt_hand, - cvt_curve, cvt_hvcurve, - cvt_corner, cvt_tangent, - cvt_pen, cvt_spiro, - cvt_knife, cvt_ruler, - cvt_scale, cvt_flip, - cvt_rotate, cvt_skew, - cvt_3d_rotate, cvt_perspective, - cvt_rect, cvt_poly, - cvt_elipse, cvt_star, - cvt_minify, cvt_max=cvt_minify, - cvt_none = -1, - cvt_spirog4=cvt_curve, cvt_spirog2=cvt_hvcurve, - cvt_spirocorner=cvt_corner, cvt_spiroleft=cvt_tangent, - cvt_spiroright=cvt_pen}; - -enum bvtools { bvt_pointer, bvt_magnify, - bvt_pencil, bvt_line, - bvt_shift, bvt_hand, - bvt_minify, bvt_eyedropper, bvt_max=bvt_eyedropper, - bvt_setwidth, bvt_setvwidth, - bvt_rect, bvt_filledrect, - bvt_elipse, bvt_filledelipse, - bvt_max2 = bvt_filledelipse, - bvt_none = -1, - bvt_fliph=0, bvt_flipv, bvt_rotate90cw, bvt_rotate90ccw, bvt_rotate180, bvt_skew, bvt_transmove }; -enum drawmode { dm_grid, dm_back, dm_fore, dm_max }; - -typedef struct bvtfunc { - enum bvtools func; - int x,y; /* used by skew and move */ -} BVTFunc; - -struct freetype_raster { - int16 rows, cols; - int16 as, lb; - int16 bytes_per_row; - int16 num_greys; - uint8 *bitmap; -}; - -struct cvcontainer { - struct cvcontainer_funcs *funcs; -}; - -enum nav_type { nt_prevdef, nt_prev, nt_goto, nt_next, nt_nextdef }; -struct cvcontainer_funcs { - enum cv_container_type { cvc_searcher, cvc_mathkern, cvc_tilepath, - cvc_gradient, cvc_multiplepattern } type; - void (*activateMe)(struct cvcontainer *cvc,struct charviewbase *cv); - void (*charEvent)(struct cvcontainer *cvc,void *event); - int (*canNavigate)(struct cvcontainer *cvc,enum nav_type type); - void (*doNavigate)(struct cvcontainer *cvc,enum nav_type type); - int (*canOpen)(struct cvcontainer *cvc); - void (*doClose)(struct cvcontainer *cvc); - SplineFont *(*sf_of_container)(struct cvcontainer *cvc); -}; - -typedef struct charviewbase { - struct charviewbase *next; - struct fontviewbase *fv; - SplineChar *sc; - Layer *layerheads[dm_max]; - uint8 drawmode; - uint16 ft_gridfitwidth; - SplineSet *gridfit; - struct cvcontainer *container; /* The sv (or whatever) within which this view is embedded (if it is embedded) */ -} CharViewBase; - -typedef struct fontviewbase { - struct fontviewbase *next; /* Next on list of open fontviews */ - struct fontviewbase *nextsame; /* Next fv looking at this font */ - EncMap *map; /* Current encoding info */ - EncMap *normal; /* If this is not NULL then we have a compacted encoding in map, and this is the original */ - SplineFont *sf; /* Current font */ - SplineFont *cidmaster; /* If CID keyed, contains master font */ - int active_layer; - BDFFont *active_bitmap; /* Set if the fontview displays a bitmap strike */ - uint8 *selected; /* Current selection */ -#ifndef _NO_FFSCRIPT - struct dictionary *fontvars; /* Scripting */ -#endif -#ifndef _NO_PYTHON - void *python_fv_object; -#endif -} FontViewBase; - -enum origins { or_zero, or_center, or_lastpress, or_value, or_undefined }; -struct pov_data { - enum origins xorigin, yorigin; - double x, y, z; - double direction; /* Direction of gaze projected into xy plane */ - double tilt; /* Angle which drawing plane is tilted with respect to projection plane */ - double d; /* Distance to projection plane */ - double sintilt; /* Used internally */ -}; - -typedef struct { - SplineFont *sf; - char *pathspec; /* In utf8, not necessarily local encoding */ - char *username, *password; - char *name; - char *description; - char *tags; - char *artists; - int notsafeforwork; - int oflicense; - char *previewimage; /* NULL => No image */ - uint8 upload_license; - uint8 upload_fontlog; - char *upload_id; /* Way to manipulate upload on OFLib */ -} OFLibData; - -struct lcg_zones { - /* info for unhinted processing */ - /* everything abvoe this should be moved down (default xheight/2) */ - int top_zone; - /* everything below this should be moved up (default xheight/2) */ - /* anything in between should be stationary */ - int bottom_zone; - - /* info for hinted processing */ - /* everything above & at this should be moved down */ - /* also anything on the other side of a hint from this should be moved down */ - int top_bound; - /* everything below & at this should be moved down */ - /* also anything on the other side of a hint from this should be moved down */ - int bottom_bound; - - enum counter_type { ct_squish, ct_retain, ct_auto } counter_type; - - SplineSet *(*embolden_hook)(SplineSet *,struct lcg_zones *,SplineChar *,int layer); - int wants_hints; - double serif_height, serif_fuzz; - - double stroke_width; /* negative number to lighten, positive to embolden */ - int removeoverlap; - - BlueData bd; - double stdvw; -}; -/* This order is the same order as the radio buttons in the embolden dlg */ -enum embolden_type { embolden_lcg, embolden_cjk, embolden_auto, embolden_custom, embolden_error }; - -struct counterinfo { - double c_factor, c_add; /* For counters */ - double sb_factor, sb_add; /* For side bearings */ - int correct_italic; - - BlueData bd; - double stdvw; - - SplineChar *sc; - int layer; - DBounds bb; /* Value before change */ - double top_y, bottom_y, boundry; - int has_two_zones; -#define TOP_Z 0 -#define BOT_Z 1 - int cnts[2]; - int maxes[2]; - struct ci_zones { - double start, width; - double moveto, newwidth; /* Only change width for diagonal stems*/ - } *zones[2]; -}; - -enum fvformats { fv_bdf, fv_ttf, fv_pk, fv_pcf, fv_mac, fv_win, fv_palm, - fv_image, fv_imgtemplate, - fv_eps, fv_epstemplate, - fv_pdf, fv_pdftemplate, - fv_plate, fv_platetemplate, - fv_svg, fv_svgtemplate, - fv_glif, fv_gliftemplate, - fv_fig, - fv_pythonbase = 0x100 }; - -extern enum undotype CopyUndoType(void); -extern int CopyContainsSomething(void); -extern int CopyContainsBitmap(void); -extern const Undoes *CopyBufferGet(void); -extern RefChar *CopyContainsRef(SplineFont *); -extern char **CopyGetPosSubData(enum possub_type *type,SplineFont **copied_from, - int pst_depth); -extern void CopyReference(SplineChar *sc); -extern void SCCopyLookupData(SplineChar *sc); -extern void PasteRemoveSFAnchors(SplineFont *); -extern void PasteAnchorClassMerge(SplineFont *sf,AnchorClass *into,AnchorClass *from); -extern void PasteRemoveAnchorClass(SplineFont *sf,AnchorClass *dying); -extern void ClipboardClear(void); -extern SplineSet *ClipBoardToSplineSet(void); -extern void BCCopySelected(BDFChar *bc,int pixelsize,int depth); -extern void PasteToBC(BDFChar *bc,int pixelsize,int depth); -extern void FVCopyWidth(FontViewBase *fv,enum undotype ut); -extern void FVCopyAnchors(FontViewBase *fv); -enum fvcopy_type { ct_fullcopy, ct_reference, ct_lookups, ct_unlinkrefs }; -extern void FVCopy(FontViewBase *fv, enum fvcopy_type copytype); -extern void PasteIntoFV(FontViewBase *fv, int pasteinto, real trans[6]); -extern void FVCopyFgtoBg(FontViewBase *fv); -extern void FVSameGlyphAs(FontViewBase *fv); -extern void FVClearBackground(FontViewBase *fv); -extern void FVClear(FontViewBase *fv); -extern void FVUnlinkRef(FontViewBase *fv); -extern void FVUndo(FontViewBase *fv); -extern void FVRedo(FontViewBase *fv); -extern void FVJoin(FontViewBase *fv); -extern void FVBuildDuplicate(FontViewBase *fv); -extern void FVTrans(FontViewBase *fv,SplineChar *sc,real transform[6],uint8 *sel, - enum fvtrans_flags); -extern void FVTransFunc(void *_fv,real transform[6],int otype, BVTFunc *bvts, - enum fvtrans_flags ); -extern void FVReencode(FontViewBase *fv,Encoding *enc); -extern void FVOverlap(FontViewBase *fv,enum overlap_type ot); -extern void FVAddExtrema(FontViewBase *fv); -extern void FVCorrectDir(FontViewBase *fv); -extern void FVRound2Int(FontViewBase *fv,real factor); -extern void FVCanonicalStart(FontViewBase *fv); -extern void FVCanonicalContours(FontViewBase *fv); -extern void FVCluster(FontViewBase *fv); -extern void CIDSetEncMap(FontViewBase *fv, SplineFont *new ); -extern void FVInsertInCID(FontViewBase *fv,SplineFont *sf); - -extern void FVAutoHint(FontViewBase *fv); -extern void FVAutoHintSubs(FontViewBase *fv); -extern void FVAutoCounter(FontViewBase *fv); -extern void FVDontAutoHint(FontViewBase *fv); -extern void FVAutoInstr(FontViewBase *fv); -extern void FVClearInstrs(FontViewBase *fv); -extern void FVClearHints(FontViewBase *fv); -extern void SCAutoTrace(SplineChar *sc,int layer, int ask); -extern char *FindAutoTraceName(void); -extern void *GetAutoTraceArgs(void); -extern void SetAutoTraceArgs(void *a); -extern char *FindMFName(void); -extern char *ProgramExists(char *prog,char *buffer); -extern void MfArgsInit(void); -extern void FVAutoTrace(FontViewBase *fv,int ask); -extern void FVAddEncodingSlot(FontViewBase *fv,int gid); -extern int FVImportMult(FontViewBase *fv, char *filename,int toback,int bf); -extern int FVImportBDF(FontViewBase *fv, char *filename,int ispk, int toback); -extern void MergeFont(FontViewBase *fv,SplineFont *other,int preserveCrossFontKerning); -extern int FVImportImages(FontViewBase *fv,char *path,int isimage,int toback,int flags); -extern int FVImportImageTemplate(FontViewBase *fv,char *path,int isimage,int toback,int flags); -extern void ScriptPrint(FontViewBase *fv,int type,int32 *pointsizes,char *samplefile, - unichar_t *sample, char *outputfile); -extern int FVBParseSelectByPST(FontViewBase *fv,struct lookup_subtable *sub, - int search_type); -extern int SFScaleToEm(SplineFont *sf, int ascent, int descent); -extern void TransHints(StemInfo *stem,real mul1, real off1, real mul2, real off2, int round_to_int ); -extern void TransDStemHints(DStemInfo *ds,real xmul, real xoff, real ymul, real yoff, int round_to_int ); -extern void VrTrans(struct vr *vr,real transform[6]); -extern int SFNLTrans(FontViewBase *fv,char *x_expr,char *y_expr); -extern void FVPointOfView(FontViewBase *fv,struct pov_data *); -extern void FVStrokeItScript(void *fv, StrokeInfo *si); -extern void FVOutline(struct fontviewbase *fv, real width); -extern void FVInline(struct fontviewbase *fv, real width, real inset); -extern void FVShadow(struct fontviewbase *fv,real angle, real outline_width, - real shadow_length,int wireframe); -extern void CI_Init(struct counterinfo *ci,SplineFont *sf); -extern void FVEmbolden(struct fontviewbase *fv,enum embolden_type type,struct lcg_zones *zones); -extern void FVCondenseExtend(struct fontviewbase *fv,struct counterinfo *ci); -extern void ScriptSCCondenseExtend(SplineChar *sc,struct counterinfo *ci); - -struct smallcaps { - double lc_stem_width, uc_stem_width; - double stem_factor, v_stem_factor; - double xheight, scheight, capheight; - double vscale, hscale; - char *extension_for_letters, *extension_for_symbols; - int dosymbols; - SplineFont *sf; - int layer; - double italic_angle, tan_ia; -}; - -extern void SmallCapsFindConstants(struct smallcaps *small, SplineFont *sf, - int layer ); - -enum glyphchange_type { gc_generic, gc_smallcaps, gc_subsuper, gc_max }; - -struct genericchange { - enum glyphchange_type gc; - uint32 feature_tag; - char *glyph_extension; - char *extension_for_letters, *extension_for_symbols; - double stem_height_scale, stem_width_scale; - double stem_height_add , stem_width_add ; - double serif_height_scale, serif_width_scale; - double seirf_height_add , serif_width_add ; - double hcounter_scale, hcounter_add; - double lsb_scale, lsb_add; - double rsb_scale, rsb_add; - uint8 center_in_hor_advance; - uint8 use_vert_mapping; - uint8 do_smallcap_symbols; - uint8 petite; /* generate petite caps rather than smallcaps */ - double vcounter_scale, vcounter_add; /* If not using mapping */ - double v_scale; /* If using mapping */ - struct fixed_maps { - int cnt; - struct position_maps { - double current , desired; - double cur_width, des_width; - int overlap_index; - } *maps; - } m; - struct fixed_maps g; /* Adjusted for each glyph */ - double vertical_offset; - unsigned int dstem_control, serif_control; - struct smallcaps *small; -/* Filled in by called routine */ - SplineFont *sf; - int layer; - double italic_angle, tan_ia; -}; - -extern void FVAddSmallCaps(FontViewBase *fv,struct genericchange *genchange); -extern void FVGenericChange(FontViewBase *fv,struct genericchange *genchange); -extern void CVGenericChange(CharViewBase *cv,struct genericchange *genchange); - -struct xheightinfo { - double xheight_current, xheight_desired; - double serif_height; -}; - -extern void InitXHeightInfo(SplineFont *sf, int layer, struct xheightinfo *xi); -extern void ChangeXHeight(FontViewBase *fv,CharViewBase *cv, struct xheightinfo *xi); -extern SplineSet *SSControlStems(SplineSet *ss, - double stemwidthscale, double stemheightscale, - double hscale, double vscale, double xheight); -extern void MakeItalic(FontViewBase *fv,CharViewBase *cv,ItalicInfo *ii); -extern int FVReplaceAll( FontViewBase *fv, SplineSet *find, SplineSet *rpl, double fudge, int flags ); -extern void FVBReplaceOutlineWithReference( FontViewBase *fv, double fudge ); -extern void FVCorrectReferences(FontViewBase *fv); -extern void _FVSimplify(FontViewBase *fv,struct simplifyinfo *smpl); -extern void UnlinkThisReference(FontViewBase *fv,SplineChar *sc,int layer); -extern FontViewBase *ViewPostscriptFont(char *filename,int openflags); -extern void FVBuildAccent(FontViewBase *fv,int onlyaccents); -extern void FVRemoveKerns(FontViewBase *fv); -extern void FVRemoveVKerns(FontViewBase *fv); -extern void FVVKernFromHKern(FontViewBase *fv); -extern void FVAddUnencoded(FontViewBase *fv, int cnt); -extern void FVRemoveUnused(FontViewBase *fv); -extern void FVCompact(FontViewBase *fv); -extern void FVDetachGlyphs(FontViewBase *fv); -extern void FVDetachAndRemoveGlyphs(FontViewBase *fv); -extern int AutoWidthScript(FontViewBase *fv,int spacing); -extern int AutoKernScript(FontViewBase *fv,int spacing, int threshold, - struct lookup_subtable *sub, char *kernfile); - -#ifndef _NO_FFSCRIPT -extern void DictionaryFree(struct dictionary *dica); -#endif - -extern void BCTrans(BDFFont *bdf,BDFChar *bc,BVTFunc *bvts,FontViewBase *fv ); -extern void BCSetPoint(BDFChar *bc, int x, int y, int color); -extern void BCTransFunc(BDFChar *bc,enum bvtools type,int xoff,int yoff); -extern void skewselect(BVTFunc *bvtf,real t); -extern void BCExpandBitmapToEmBox(BDFChar *bc, int xmin, int ymin, int xmax, int ymax); - -extern BDFFloat *BDFFloatCreate(BDFChar *bc,int xmin,int xmax,int ymin,int ymax, int clear); -extern BDFFloat *BDFFloatCopy(BDFFloat *sel); -extern BDFFloat *BDFFloatConvert(BDFFloat *sel,int newdepth, int olddepth); -extern void BDFFloatFree(BDFFloat *sel); - -extern int CVLayer(CharViewBase *cv); -extern Undoes *CVPreserveStateHints(CharViewBase *cv); -extern Undoes *CVPreserveState(CharViewBase *cv); -extern Undoes *CVPreserveWidth(CharViewBase *cv,int width); -extern Undoes *CVPreserveVWidth(CharViewBase *cv,int vwidth); -extern void CVDoRedo(CharViewBase *cv); -extern void CVDoUndo(CharViewBase *cv); -extern void CVRemoveTopUndo(CharViewBase *cv); -extern void CopySelected(CharViewBase *cv,int doanchors); -extern void CVCopyGridFit(CharViewBase *cv); -extern void CopyWidth(CharViewBase *cv,enum undotype); -extern void PasteToCV(CharViewBase *cv); -extern void CVYPerspective(CharViewBase *cv,double x_vanish, double y_vanish); -extern void ScriptSCEmbolden(SplineChar *sc,int layer,enum embolden_type type,struct lcg_zones *zones); -extern void CVEmbolden(CharViewBase *cv,enum embolden_type type,struct lcg_zones *zones); -extern void SCCondenseExtend(struct counterinfo *ci,SplineChar *sc, int layer, - int do_undoes); -extern void SCClearSelPt(SplineChar *sc); -extern void SC_MoreLayers(SplineChar *,Layer *old); -extern void SCLayersChange(SplineChar *sc); -extern void SFLayerChange(SplineFont *sf); -extern void SCTile(SplineChar *sc,int layer); -extern void _CVMenuMakeLine(CharViewBase *cv,int do_arc,int ellipse_to_back); - /* Ellipse to back is a debugging flag and adds the generated ellipse to */ - /* the background layer so we can look at it. I thought it might actually*/ - /* be useful, so I left it in. Activated with the Alt key in the menu */ - -extern void MVCopyChar(FontViewBase *fv, BDFFont *bdf, SplineChar *sc, enum fvcopy_type fullcopy); -extern void PasteIntoMV(FontViewBase *fv, BDFFont *bdf,SplineChar *sc, int doclear); - -extern void ExecuteScriptFile(FontViewBase *fv, SplineChar *sc, char *filename); - -extern int HasLicense(SplineFont *,FILE *); -extern int OFLibUploadFont(OFLibData *); - -enum search_flags { sv_reverse = 0x1, sv_flips = 0x2, sv_rotate = 0x4, - sv_scale = 0x8, sv_endpoints=0x10 }; -typedef struct searchdata { - SplineChar sc_srch, sc_rpl; - SplineSet *path, *revpath, *replacepath, *revreplace; - int pointcnt, rpointcnt; - real fudge; - real fudge_percent; /* a value of .05 here represents 5% (we don't store the integer) */ - unsigned int tryreverse: 1; - unsigned int tryflips: 1; - unsigned int tryrotate: 1; - unsigned int tryscale: 1; - unsigned int endpoints: 1; /* Don't match endpoints, use them for direction only */ - unsigned int onlyselected: 1; - unsigned int subpatternsearch: 1; - unsigned int doreplace: 1; - unsigned int replaceall: 1; - unsigned int findall: 1; - unsigned int searchback: 1; - unsigned int wrap: 1; - unsigned int wasreversed: 1; - unsigned int replacewithref: 1; - unsigned int already_complained: 1; /* User has already been alerted to the fact that we've converted splines to refs and lost the instructions */ - SplineSet *matched_spl; - SplinePoint *matched_sp, *last_sp; - real matched_rot, matched_scale; - real matched_x, matched_y; - double matched_co, matched_si; /* Precomputed sin, cos */ - enum flipset { flip_none = 0, flip_x, flip_y, flip_xy } matched_flip; -#ifdef _HAS_LONGLONG - unsigned long long matched_refs; /* Bit map of which refs in the char were matched */ - unsigned long long matched_ss; /* Bit map of which splines in the char were matched */ - /* In multi-path mode */ - unsigned long long matched_ss_start;/* Bit map of which splines we tried to start matches with */ -#else - unsigned long matched_refs; - unsigned long matched_ss; - unsigned long matched_ss_start; -#endif - FontViewBase *fv; - SplineChar *curchar; - int last_gid; -} SearchData; - -extern struct searchdata *SDFromContour( FontViewBase *fv, SplineSet *find, double fudge, int flags ); -extern SplineChar *SDFindNext(struct searchdata *sv); - -extern struct python_import_export { - struct _object *import; /* None becomes NULL */ - struct _object *export; /* None becomes NULL */ - struct _object *data; /* None stays None */ - char *name; - char *extension; - char *all_extensions; -} *py_ie; -extern void PyFF_SCExport(SplineChar *sc,int ie_index,char *filename, - int layer); -extern void PyFF_SCImport(SplineChar *sc,int ie_index,char *filename, - int layer, int clear); -extern void PyFF_InitFontHook(FontViewBase *fv); - -extern void LookupInit(void); -extern int UserFeaturesDiffer(void); -extern uint32 *StdFeaturesOfScript(uint32 script); - -enum byte_types { bt_instr, bt_cnt, bt_byte, bt_wordhi, bt_wordlo, bt_impliedreturn }; -struct instrdata { - uint8 *instrs; - int instr_cnt, max; - uint8 *bts; - unsigned int changed: 1; - unsigned int in_composit: 1; - SplineFont *sf; - SplineChar *sc; - uint32 tag; - struct instrdlg *id; - struct instrdata *next; -}; - -extern uint8 *_IVParse(SplineFont *sf, char *text, int *len, - void (*IVError)(void *,char *, int), void *iv); -extern char *_IVUnParseInstrs(uint8 *instrs,int instr_cnt); - -extern int BitmapControl(FontViewBase *fv,int32 *sizes,int isavail,int rasterize); -extern void FVSetWidthScript(FontViewBase *fv,enum widthtype wtype,int val,int incr); -extern void FVMetricsCenter(FontViewBase *fv,int docenter); -extern void FVRevert(FontViewBase *fv); -extern void FVRevertBackup(FontViewBase *fv); -extern void FVRevertGlyph(FontViewBase *fv); -extern int MMReblend(FontViewBase *fv, MMSet *mm); -extern FontViewBase *MMCreateBlendedFont(MMSet *mm,FontViewBase *fv,real blends[MmMax],int tonew ); -#endif |