(syms_of_xfaces): Intern and staticpro it.
(Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
(Finternal_copy_lisp_face, update_face_from_frame_parameter):
Don't increment face_change_count when face has non-nil
face-no-inherit property.
Face merging cleanups
The only user-visible changes should be:
* The priority order of faces in a face :inherit attribute is now
reversed (for consistency with face lists in `face' text
properties)
* An :inherit loop is halted immediately, instead of being applied
several times first; this should only matters when a relative
attribute such as a :height scale is used.
(tty_supports_face_attributes_p): Ensure attributes differ from default
This implements the property of `display-supports-face-attributes-p'
which says that the specified attributes must be distinguishable from
those of the default face.
conditional on HAVE_WINDOW_SYSTEM.
(Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]: Don't
call x_supports_face_attributes_p if it was not compiled in.
Move `display-supports-face-attributes-p' entirely into C code
Previously only the tty-related portion of display-supports-face-attributes-p
was done in C. This just moves the graphical-display related bits into C
too, which allows us to implement them properly (the previous attempt to do a
halfway-proper job in lisp didn't work because of funny conditions during
emacs startup).
where it's used in x_list_fonts (for clarity).
(frame_update_line_height): Remove unused function; functionality
is now done directly when setting the default font in x_set_font.
as value for QCfont attribute.
(realize_default_face): lface should already exist; crash if not.
Specify 0 for FORCE_P when calling set_lface_from_font_name.
(struct font_name): New member rescale_ratio.
(font_rescale_ratio): New function.
(split_font_name): If NUMERIC_P is nonzero, set
font->rescale_ratio.
(better_font_p): On comparing point sized, pay attention to
recale_ratio member of fonts.
(build_scalable_font_name): Reflect font->rescale_ratio in the
font name.
(syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp
variable.
names.
* xfaces.c (x_face_list_fonts): Allocate struct font_name here.
(sorted_font_list): Moved allocation of struct font_name to
x_face_list_fonts.
(Fx_font_family_list): Set font-list-limit to -1 to get all font names.
(Fx_list_fonts): Set maxnames to -1 to get all font names.
choose_face_font.
(best_matching_font, choose_face_font): Add `needs_overstrike'
argument, and use it to return whether overstriking is desirable
for this face/font combo.
(set_font_frame_param: Pass new argument to choose_face_font.
nonzero, try face's family at first. Otherwise try FAMILY at
first.
(choose_face_font): If C is a single byte char or latin-1, call
try_font_list with PREFER_FACE_FAMILY 1.
2002-06-16 Andrew Choi <akochoi@shaw.ca>
* fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
Vdefault_fontset to Monaco with mac-roman coding.
* mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
init_process before and after inclusion of Carbon/Carbon.h, resp.
* macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
cursor_gc.
(add_font_name_table_entry): New function.
(init_font_name_table): Use add_font_name_table_entry; add italic,
bold, and bold-italic entries for truetype fonts.
* xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
for Mac too.
(try_font_list) [MAC_OS]: If no font matches given registry, try
fonts with any registry matching face_family.
(realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font
here.
* s/darwin.h: If autoconf detects the Ncurses library, define
LIBS_TERMCAP to -lncurses to use it.
In lisp/:
2002-06-16 Andrew Choi <akochoi@shaw.ca>
* term/mac-win.el (scalable-fonts-allowed): Set to t.