CLIM mail archive



    Date: Thu, 3 Dec 1992 09:08 EST
    From: Markus Fischer <MF@sun4.sger>

	Date: Thu, 3 Dec 1992 08:25+0100

	I'm using CLIM 1.1 with MCL 2.0
	and CLIM 1.1 under Genera 8.1.

	If I'm using a text style with :bold face inside an enviromnent of 
	:italic face, the text gets formatted in (:bold :italic) face.
	As all text-styles are fully specified, I assume it's a bug.
	If I misunderstand the Documentation and it's a feature, 
	how can I do what I want (i.e. formatting the
	text :bold, but NOT :italic??

    The problem is that WITH-TEXT-STYLE always merges the new text style with
    the existing one. The exact behavior is documented for the function 

    However, you seem to want NO merging at all, since your test code
    always specifies the text-style completely. I wrote a kludge to get
    the behavior you're probably looking for. It temporarliy (for the extent
    of the body) binds the medium's text-style to the medium's default text

    But maybe it would be desirable to have an additional keyword like
    (:MERGE-P T) in the WITH-TEXT-XXX macros of CLIM 2.0 ?

Actually, there is a work-around.  You can specify an explicit text
face of :ROMAN around your attempt to switch to :BOLD.  The :ROMAN
will override the :ITALIC (not merge with it), and then the :BOLD will
override the :ROMAN.

This loses:

> (with-text-style ('(:fix :italic :normal) win)
    (with-text-face (:bold win)
      (stream-merged-text-style win)))

This wins:

> (with-text-style ('(:fix :italic :normal) win)
    (with-text-face (:roman win)
      (with-text-face (:bold win)
	(stream-merged-text-style win))))

Main Index | Thread Index