• Alp Aker's avatar
    Implement wave-style variant of underlining. · 9b0e3eba
    Alp Aker authored
      * doc/lispref/display.texi: Document new face attribute.
      * lisp/cus-face.el (custom-face-attributes): Add wave-style underline
      attribute.
      * lisp/faces.el (set-face-attribute): Update docstring.
      * src/dispextern.h (face_underline_type): New enum.
      (face): Add field for underline type.
      * src/nsterm.m (ns_draw_underwave): New function.
      (ns_draw_text_decoration): Use it.
      * src/w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave):
      New functions.
      (x_draw_glyph_string): Use them.
      * src/xfaces.c (Qline, Qwave): New Lisp objects.
      (check_lface_attrs, merge_face_ref)
      (Finternal_set_lisp_face_attribute, realize_x_face): Handle
      wave-style underline face attributes.
      * src/xterm.c (x_draw_underwave): New function.
      (x_draw_glyph_string): Use it.
    9b0e3eba
faces.el 96.7 KB