From: Kenichi Handa Date: Wed, 25 Apr 2007 11:59:44 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: emacs-pretest-23.0.90~8295^2~538 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b6c8772afcdc9cc50f45e2505bd599fb8de60052;p=emacs.git *** empty log message *** --- diff --git a/src/font.h b/src/font.h index cfc30051f68..ee8d2e27258 100644 --- a/src/font.h +++ b/src/font.h @@ -390,17 +390,11 @@ struct font_driver Lisp_Object (*otf_capability) P_ ((struct font *font)); /* Optional. - Drive FONT's OTF GSUB features according to GSUB_SPEC. - - GSUB_SPEC is in this format (all elements are symbols): - (SCRIPT LANGSYS GSUB-FEATURE ...) - If one of GSUB-FEATURE is nil, apply all gsub features except for - already applied and listed later. For instance, if the font has - GSUB features nukt, haln, rphf, blwf, and half, - (deva nil nukt haln nil rphf) - applies nukt and haln in this order, then applies blwf and half - in the order apearing in the font. The features are of the - default langsys of `deva' script. + Apply FONT's OTF-FEATURES to the glyph string. + + FEATURES specifies which OTF features to apply in this format: + (SCRIPT LANGSYS GSUB-FEATURE GPOS-FEATURE) + See the documentation of `font-drive-otf' for the detail. This method applies the specified features to the codes in the elements of GSTRING-IN (between FROMth and TOth). The output @@ -410,26 +404,9 @@ struct font_driver Return the number of output codes. If none of the features are applicable to the input data, return 0. If GSTRING-OUT is too short, return -1. */ - int (*otf_gsub) P_ ((struct font *font, Lisp_Object gsub_spec, + int (*otf_drive) P_ ((struct font *font, Lisp_Object features, Lisp_Object gstring_in, int from, int to, Lisp_Object gstring_out, int idx, int alternate_subst)); - - /* Optional. - Drive FONT's OTF GPOS features according to GPOS_SPEC. - - GPOS_SPEC is in this format (all elements are symbols): - (SCRIPT LANGSYS GPOS-FEATURE ...) - The meaning is the same as GSUB_SPEC above. - - This method applies the specified features to the codes in the - elements of GSTRING (between FROMth and TOth). The resulting - positioning information (x-offset and y-offset) is stored in the - slots of the elements. - - Return 1 if at least one glyph has nonzero x-offset or y-offset. - Otherwise return 0. */ - int (*otf_gpos) P_ ((struct font *font, Lisp_Object gpos_spec, - Lisp_Object gstring, int from, int to)); }; @@ -467,8 +444,9 @@ extern int font_set_lface_from_name P_ ((FRAME_PTR f, int force_p, int may_fail_p)); extern Lisp_Object font_find_for_lface P_ ((FRAME_PTR f, Lisp_Object *lface, Lisp_Object spec)); -extern Lisp_Object font_open_for_lface P_ ((FRAME_PTR f, Lisp_Object *lface, - Lisp_Object entity)); +extern Lisp_Object font_open_for_lface P_ ((FRAME_PTR f, Lisp_Object entity, + Lisp_Object *lface, + Lisp_Object spec)); extern void font_load_for_face P_ ((FRAME_PTR f, struct face *face)); extern void font_prepare_for_face P_ ((FRAME_PTR f, struct face *face)); extern Lisp_Object font_open_by_name P_ ((FRAME_PTR f, char *name)); @@ -499,14 +477,11 @@ extern struct font *font_prepare_composition P_ ((struct composition *cmp)); #ifdef HAVE_LIBOTF /* This can be used as `otf_capability' method of a font-driver. */ extern Lisp_Object font_otf_capability P_ ((struct font *font)); -/* This can be used as `otf_gsub' method of a font-driver. */ -extern int font_otf_gsub P_ ((struct font *font, Lisp_Object gsub_spec, +/* This can be used as `otf_drive' method of a font-driver. */ +extern int font_drive_otf P_ ((struct font *font, Lisp_Object otf_features, Lisp_Object gstring_in, int from, int to, Lisp_Object gstring_out, int idx, int alternate_subst)); -/* This can be used as `otf_gpos' method of a font-driver. */ -extern int font_otf_gpos P_ ((struct font *font, Lisp_Object gpos_spec, - Lisp_Object gstring, int from, int to)); #endif /* HAVE_LIBOTF */ #ifdef HAVE_FREETYPE