Mercurial > emacs
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 { |