diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/font.c | 33 |
2 files changed, 35 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 3d86f4d1052..974fb70c9e8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2009-02-18 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * font.c (font_check_otf_features): Fix handling of `nil' element. | ||
| 4 | (Ffont_spec): Describe :lang and :otf in the docstring. | ||
| 5 | |||
| 1 | 2009-02-16 Andreas Schwab <schwab@suse.de> | 6 | 2009-02-16 Andreas Schwab <schwab@suse.de> |
| 2 | 7 | ||
| 3 | * coding.c (Fcheck_coding_systems_region): Fix test for unibyte | 8 | * coding.c (Fcheck_coding_systems_region): Fix test for unibyte |
diff --git a/src/font.c b/src/font.c index 0bd18d4c5cd..df59a3b3376 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -2424,7 +2424,10 @@ font_check_otf_features (script, langsys, features, 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 | } |
| @@ -3921,8 +3924,8 @@ encoding of a font, e.g. ``iso8859-1''. | |||
| 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 | ||
| @@ -3933,6 +3936,30 @@ VALUE must be a string of XLFD-style or fontconfig-style font name. | |||
| 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; |