955 |
|
|
956 |
/* Check validity of NAME as a fontset name and return the |
/* Check validity of NAME as a fontset name and return the |
957 |
corresponding fontset. If not valid, signal an error. |
corresponding fontset. If not valid, signal an error. |
958 |
If NAME is t, return Vdefault_fontset. */ |
If NAME is nil, return Vdefault_fontset. */ |
959 |
|
|
960 |
static Lisp_Object |
static Lisp_Object |
961 |
check_fontset_name (name) |
check_fontset_name (name) |
963 |
{ |
{ |
964 |
int id; |
int id; |
965 |
|
|
966 |
if (EQ (name, Qt)) |
if (EQ (name, Qnil)) |
967 |
return Vdefault_fontset; |
return Vdefault_fontset; |
968 |
|
|
969 |
CHECK_STRING (name); |
CHECK_STRING (name); |
1190 |
|
|
1191 |
|
|
1192 |
/* Called from Ffontset_info via map_char_table on each leaf of |
/* Called from Ffontset_info via map_char_table on each leaf of |
1193 |
|
fontset. ARG is a copy of the default fontset. The current leaf |
1194 |
|
is indexed by CHARACTER and has value ELT. This function override |
1195 |
|
the copy by ELT if ELT is not nil. */ |
1196 |
|
|
1197 |
|
static void |
1198 |
|
override_font_info (fontset, character, elt) |
1199 |
|
Lisp_Object fontset, character, elt; |
1200 |
|
{ |
1201 |
|
if (! NILP (elt)) |
1202 |
|
Faset (fontset, character, elt); |
1203 |
|
} |
1204 |
|
|
1205 |
|
/* Called from Ffontset_info via map_char_table on each leaf of |
1206 |
fontset. ARG is a list (LAST FONT-INFO ...), where LAST is `(last |
fontset. ARG is a list (LAST FONT-INFO ...), where LAST is `(last |
1207 |
ARG)' and FONT-INFOs have this form: |
ARG)' and FONT-INFOs have this form: |
1208 |
(CHAR FONT-SPEC) or ((FROM . TO) FONT-SPEC) |
(CHAR FONT-SPEC) or ((FROM . TO) FONT-SPEC) |
1209 |
The current leaf is indexed by CHARACTER and has value ELT. This |
The current leaf is indexed by CHARACTER and has value ELT. This |
1210 |
function add the information of the current leaf to ARG by |
function add the information of the current leaf to ARG by |
1211 |
appending a new element or modifying the last element.. */ |
appending a new element or modifying the last element. */ |
1212 |
|
|
1213 |
static void |
static void |
1214 |
accumulate_font_info (arg, character, elt) |
accumulate_font_info (arg, character, elt) |
1299 |
realized[n_realized++] = elt; |
realized[n_realized++] = elt; |
1300 |
} |
} |
1301 |
|
|
1302 |
|
if (! EQ (fontset, Vdefault_fontset)) |
1303 |
|
{ |
1304 |
|
/* Merge FONTSET onto the default fontset. */ |
1305 |
|
val = Fcopy_sequence (Vdefault_fontset); |
1306 |
|
map_char_table (override_font_info, Qnil, fontset, val, 0, indices); |
1307 |
|
fontset = val; |
1308 |
|
} |
1309 |
|
|
1310 |
/* Accumulate information of the fontset in VAL. The format is |
/* Accumulate information of the fontset in VAL. The format is |
1311 |
(LAST FONT-INFO FONT-INFO ...), where FONT-INFO is (CHAR-OR-RANGE |
(LAST FONT-INFO FONT-INFO ...), where FONT-INFO is (CHAR-OR-RANGE |
1312 |
FONT-SPEC). See the comment for accumulate_font_info for the |
FONT-SPEC). See the comment for accumulate_font_info for the |