• Paul Eggert's avatar
    Make struct font_drivers read-only · ebb96114
    Paul Eggert authored
    This simplifies the code a bit, and makes the structs more
    shareable and less likely to become corrupt.
    * src/alloc.c (cleanup_vector):
    * src/font.c (valid_font_driver, font_prepare_cache)
    (font_finish_cache, font_get_cache, font_clear_cache)
    (register_font_driver, font_update_drivers):
    * src/font.h (struct font, struct font_driver_list)
    (valid_font_driver):
    struct font_drivers are now const.
    * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
    Omit no-longer-necessary decls.
    * src/ftcrfont.c (syms_of_ftcrfont):
    * src/ftxfont.c (syms_of_ftxfont):
    * src/xftfont.c (syms_of_xftfont):
    Omit no-longer-necessary initialization code.
    * src/ftcrfont.c (ftcrfont_driver):
    * src/ftfont.c (ftfont_driver):
    * src/ftxfont.c (ftxfont_driver):
    * src/macfont.m (macfont_driver):
    * src/nsfont.m (nsfont_driver):
    * src/xfont.c (xfont_driver):
    * src/xftfont.c (xftfont_driver):
    Use C99-style initializer for ease of maintenance, and make it const.
    * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
    Refer to functions like ftfont_text_extents directly.
    * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
    (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
    (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
    (ftfont_variation_glyphs, ftfont_filter_properties)
    (ftfont_combining_capability):
    * src/xfont.c (xfont_get_cache):
    Now extern, so that other modules’ struct font_drivers can use
    them directly.
    * src/macfont.m (macfont_descriptor_entity):
    * src/nsfont.m (nsfont_open):
    Use constant directly; this is clearer.
    ebb96114
xfont.c 30.5 KB