aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2008-12-30 23:42:40 +0000
committerKenichi Handa2008-12-30 23:42:40 +0000
commitc19cab20a1a9fe9b00f21fef3a3fc3c559ce0710 (patch)
tree322c2d56af48e6b3fce560295e422f96f5b9b264 /src
parent78a2f9cd5362633833419cbcbc3cefa2e65d10a3 (diff)
downloademacs-c19cab20a1a9fe9b00f21fef3a3fc3c559ce0710.tar.gz
emacs-c19cab20a1a9fe9b00f21fef3a3fc3c559ce0710.zip
(CHAR_VARIATION_SELECTOR_P): New macro.
(CHAR_SURROGATE_PAIR_P): New macro.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog19
-rw-r--r--src/character.h20
2 files changed, 39 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index cba115c6104..c06f20d5ad7 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,22 @@
12008-12-30 Kenichi Handa <handa@m17n.org>
2
3 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
4 (CHAR_SURROGATE_PAIR_P): New macro.
5
6 * font.h (struct font_driver): New member get_variation_glyphs.
7
8 * font.c (font_range): Don't require a font for a variation
9 selector.
10 (Ffont_variation_glyphs): New function.
11 (syms_of_font): Defsubr it.
12
13 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
14 ftfont_variation_glyphs.
15 (setup_otf_gstring): New function.
16 (ftfont_drive_otf): Use it.
17 (ftfont_shape_by_flt): Handle variation selector.
18 (ftfont_variation_glyphs): New function.
19
12008-12-30 Martin Rudalics <rudalics@gmx.at> 202008-12-30 Martin Rudalics <rudalics@gmx.at>
2 21
3 * frame.c (Vemacs_iconified): Remove. 22 * frame.c (Vemacs_iconified): Remove.
diff --git a/src/character.h b/src/character.h
index 34e696e5083..a766b767eb3 100644
--- a/src/character.h
+++ b/src/character.h
@@ -610,6 +610,26 @@ extern char unibyte_has_multibyte_table[256];
610 ? ASCII_CHAR_WIDTH (c) \ 610 ? ASCII_CHAR_WIDTH (c) \
611 : XINT (CHAR_TABLE_REF (Vchar_width_table, c))) 611 : XINT (CHAR_TABLE_REF (Vchar_width_table, c)))
612 612
613/* If C is a variation selector, return the index numnber of the
614 variation selector (1..256). Otherwise, return 0. */
615
616#define CHAR_VARIATION_SELECTOR_P(c) \
617 ((c) < 0xFE00 ? 0 \
618 : (c) <= 0xFE0F ? (c) - 0xFE00 + 1 \
619 : (c) < 0xE0100 ? 0 \
620 : (c) <= 0xE01EF ? (c) - 0xE0100 + 17 \
621 : 0)
622
623/* If C is a high surrogate, return 1. If C is a low surrogate,
624 return 0. Otherwise, return 0. */
625
626#define CHAR_SURROGATE_PAIR_P(c) \
627 ((c) < 0xD800 ? 0 \
628 : (c) <= 0xDBFF ? 1 \
629 : (c) <= 0xDFFF ? 2 \
630 : 0)
631
632
613extern int char_resolve_modifier_mask P_ ((int)); 633extern int char_resolve_modifier_mask P_ ((int));
614extern int char_string P_ ((unsigned, unsigned char *)); 634extern int char_string P_ ((unsigned, unsigned char *));
615extern int string_char P_ ((const unsigned char *, 635extern int string_char P_ ((const unsigned char *,