comparison src/font.c @ 102082:6bd3d2a26db9

(font_check_otf_features): Fix handling of `nil' element. (Ffont_spec): Describe :lang and :otf in the docstring.
author Kenichi Handa <handa@m17n.org>
date Wed, 18 Feb 2009 02:28:57 +0000
parents 97c9e9322753
children 8c447b83d140
comparison
equal deleted inserted replaced
102081:04cccf4e9c21 102082:6bd3d2a26db9
2422 } 2422 }
2423 table = XCDR (table); 2423 table = XCDR (table);
2424 for (negative = 0; CONSP (features); features = XCDR (features)) 2424 for (negative = 0; CONSP (features); features = XCDR (features))
2425 { 2425 {
2426 if (NILP (XCAR (features))) 2426 if (NILP (XCAR (features)))
2427 negative = 1; 2427 {
2428 negative = 1;
2429 continue;
2430 }
2428 if (NILP (Fmemq (XCAR (features), table)) != negative) 2431 if (NILP (Fmemq (XCAR (features), table)) != negative)
2429 return 0; 2432 return 0;
2430 } 2433 }
2431 return 1; 2434 return 1;
2432 } 2435 }
3919 encoding of a font, e.g. ``iso8859-1''. 3922 encoding of a font, e.g. ``iso8859-1''.
3920 3923
3921 `:size' 3924 `:size'
3922 3925
3923 VALUE must be a non-negative integer or a floating point number 3926 VALUE must be a non-negative integer or a floating point number
3924 specifying the font size. It specifies the font size in pixels 3927 specifying the font size. It specifies the font size in pixels (if
3925 (if VALUE is an integer), or in points (if VALUE is a float). 3928 VALUE is an integer), or in points (if VALUE is a float).
3926 3929
3927 `:name' 3930 `:name'
3928 3931
3929 VALUE must be a string of XLFD-style or fontconfig-style font name. 3932 VALUE must be a string of XLFD-style or fontconfig-style font name.
3930 3933
3931 `:script' 3934 `:script'
3932 3935
3933 VALUE must be a symbol representing a script that the font must 3936 VALUE must be a symbol representing a script that the font must
3934 support. It may be a symbol representing a subgroup of a script 3937 support. It may be a symbol representing a subgroup of a script
3935 listed in the variable `script-representative-chars'. 3938 listed in the variable `script-representative-chars'.
3939
3940 `:lang'
3941
3942 VALUE must be a symbol of two-letter ISO-639 language names,
3943 e.g. `ja'.
3944
3945 `:otf'
3946
3947 VALUE must be a list (SCRIPT-TAG LANGSYS-TAG GSUB [ GPOS ]) to specify
3948 required OpenType features.
3949
3950 SCRIPT-TAG: OpenType script tag symbol (e.g. `deva').
3951 LANGSYS-TAG: OpenType language system tag symbol,
3952 or nil for the default language system.
3953 GSUB: List of OpenType GSUB feature tag symbols, or nil if none required.
3954 GPOS: List of OpenType GPOS feature tag symbols, or nil if none required.
3955
3956 GSUB and GPOS may contain `nil' element. In such a case, the font
3957 must not have any of the remaining elements.
3958
3959 For instance, if the VALUE is `(thai nil nil (mark))', the font must
3960 be an OpenTyep font, and whose GPOS table of `thai' script's default
3961 language system must contain `mark' feature.
3962
3936 usage: (font-spec ARGS...) */) 3963 usage: (font-spec ARGS...) */)
3937 (nargs, args) 3964 (nargs, args)
3938 int nargs; 3965 int nargs;
3939 Lisp_Object *args; 3966 Lisp_Object *args;
3940 { 3967 {